home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / tool / hk2 / bas / hk2in.bas < prev    next >
Encoding:
BASIC Source File  |  1995-08-02  |  95.2 KB  |  2,460 lines

  1. 10 '------------------------------------------------------------------
  2. 20 '  HK2IN.BAS  Copyrigit(C) T.Komura      / 家計簿システム HK   /
  3. 30 '                                       /      Version 2      /
  4. 31 '  Version 4.0  1992.06.20-1992.06.28  / 入力・編集プログラム /
  5. 32 '  Version 1.0  1993.01.01 公開バージョン
  6. 33 '  Version 1.1a 1993.01.01 辞書入力追加
  7. 34 '  Version 1.1b 1993.01.01 外部ファイルによる辞書入力スイッチ
  8. 35 '  Version 1.2  1993.01.01 金額の電卓入力追加
  9. 36 '  Version 1.3  1993.12.26 項目に小分類追加 残高計算機能追加
  10. 37 '  Version 1.4  1994.06.12 小分類廃止                  
  11. 38 '  Version 1.4d 1994.07.08 月間累計額の演算月を表示日の月に変更
  12. 39 '  Version 1.4e 1994.07.12 定額項目編集機能追加
  13. 40 '     V2.0 L10a 1995.05.14 Version 2.0 HK2とする
  14. 41 '     V2.0 L10e 1995.07.03 家計簿ファイル作成、累計演算に処理状況表示追加
  15. 42 '     V2.0 L10h 1995.07.30 金額入力0のとき0を表示しない。
  16. 43 '     V2.0 L10i 1995.08.03 新規ファイル作成時に前表示データが残り累計額計算を誤るのを修正。
  17. 100 '------------------------------------------------------------------
  18. 140 CLEAR ,,,,,300*1024
  19. 150 DIM CFI$(15)
  20. 170 GOSUB *CONFIGファイルチェック
  21. 190 '
  22. 200 *初期設定:'--------------------------------------------------------
  23. 210 CMD$="CD "+PRGDRV$:SHELL CMD$
  24. 220 CONSOLE 0,24,0:MOUSE 0
  25. 221 MOUSE 0
  26. 230 DIM MSGD%(28000):' 音声メッセージ配列定義 プログラム先頭で定義
  27. 240 LOAD@ FMBDRV$+"\FMP.FMB"
  28. 250 PLAY "@30T150V6":DATX$=DATE$
  29. 255 'ウインドウ関係座標配列
  30. 256 G=8:B=50
  31. 260 DIM B_X1(G,B),B_X2(G,B),B_Y1(G,B),B_Y2(G,B),BST(G,B)
  32. 265 DIM W_X1(G),W_X2(G),W_Y1(G),W_Y2(G)
  33. 266 DIM W_XA(G),W_XB(G),W_YA(G),W_YB(G)
  34. 267 DIM MD_SB#(10465),MD_SW#(10465):'max : HELP window
  35. 268 'デ-タ配列
  36. 270 DIM DYN$(16),DRM$(16),DYN#(16),EVDT$(12,32)
  37. 274 DIM DYNX#(15)                             :'累計計算用一時記憶
  38. 275 DIM DYT$(15),DYM$(15),DYA$(15),DYR$(15)   :'累計データ
  39. 276 DIM DYT#(15),DYM#(15),DYA#(15),DYR#(15)   :'累計データ
  40. 280 DIM WRD$(15,128),WLN(15,128),WRDM(128)    :'辞書データ
  41. 290 DIM COX$(10,5)                            :'定額データ
  42. 295 DIM DOC$(2000)                            :'HELPデータ
  43. 300 INTERVAL 1                  :'プログラム先頭
  44. 310 ON INTERVAL GOSUB *時計表示 :'プログラム先頭 
  45. 320 GOSUB *ボタン座標読み取り
  46. 325 GOSUB *MCREAD:GOSUB *DCLOCKREAD
  47. 330 'CLS:COLOR 7:PRINT int((int(((155-14+1)+7)/8)*(415-131+1)*4+8-1)/8)
  48. 360 DIM LMB#(900),ABOUTD#(2071),HLPL#(397),HLPC#(8449)
  49. 370 ON ERROR GOTO *ERROR
  50. 380 '
  51. 410 CBMAX=24:'コントロールボタン個数
  52. 420 BSAVE  =10:'保存ボタン番号
  53. 422 BLOAD  =9 :'読込ボタン番号
  54. 424 HKIN   =16:'記入ボタン番号
  55. 426 HKINEND=24:'終了ボタン番号
  56. 440 DOCF$="\HK2in.HLP"
  57. 500 '------------------------------------------------------------------
  58. 510 休日1$="(祝日)" ' 休日を検出する行事ファイル内のキーワード 1
  59. 520 休日2$="(休日)" '
  60. 530 代休1 =1        ' 休日が日曜日と重なった場合月曜日を代休とする時"1" 
  61. 540 代休2 =0        ' 会社等の休日
  62. 550 '
  63. 1000 *メインルーチン:'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  64. 1005 GOSUB *SEFFECT1:MOUSE 1,320,64,1:MCN=2:GOSUB *MCDSET
  65. 1010 GOSUB *HKID  :'先頭インデックスファイルチェック
  66. 1012 GOSUB *HKISSF:'起算ファイル検出
  67. 1030 GOSUB *EVGET:'行事データファイル読み込み
  68. 1035 GOSUB *本日の日付
  69. 1040 GOSUB *検索ジャンプチェック
  70. 1041 GOSUB *日付表示
  71. 1045 GOSUB *起算日表示
  72. 1050 IF DICIF=1 THEN GOSUB *DICREAD
  73. 1060 GOSUB *辞書入力スイッチ
  74. 1065 GOSUB *電卓入力スイッチ
  75. 1070 MCN=1:GOSUB *MCDSET
  76. 1080 GOSUB *指定日データ表示
  77. 1090 MESN=7:GOSUB *SNDMSG
  78. 1100 *メイン選択
  79. 1110 IF MES2OFF=0 THEN MESN=2:GOSUB *MESDSP
  80. 1120 MCN=1:GOSUB *MCDSET
  81. 1130 G=1:SWPASS=1:GOSUB *MCSELECT'ボタン選択 
  82. 1135 IF SWNO<0 THEN 1130
  83. 1140 IF SWNO<>0 THEN 1145
  84. 1141 GOSUB *カレンダー検索:IF CLDSW=1 THEN GOTO *CLDSELECT
  85. 1142 GOSUB *項目検索      :IF ITMSW=1 THEN GOTO *ITMSELECT
  86. 1143 GOSUB *MCMIS:GOTO 1130
  87. 1145 IF SWNO>=CBMAX+1 THEN *SSEL
  88. 1150 '            yr-  yr+  mn-  mn+  dy-  dy+  wk-  wk+  load save calc dic
  89. 1151 '            totl cnst HK2  IN   SRC  ANL  CLD  CFG  DATE、時計 help exit
  90. 1153 ON SWNO GOTO *S02,*S01,*S04,*S03,*S06,*S05,*S08,*S07,*S09,*S10,*S11,*S12,                                         *S13,*S14,*S15,*S99,*S99,*S99,*S99,*S99,*S21,*S24,*S22,*S23
  91. 1200 '
  92. 3000 *CLDSELECT:' カレンダー指定-------------------------------------
  93. 3010  DY=SELDAY: BSNDOFF=1
  94. 3020  YDEF=0 :MDEF= 0:DDEF= 0: GOTO *YMDRNEW
  95. 3400 *S01:' 1年先 ---------------------------------------------------
  96. 3405  YDEF=+1:MDEF= 0:DDEF= 0: GOTO *YMDRNEW
  97. 3410 *S02:' 1年前 ---------------------------------------------------
  98. 3415  YDEF=-1:MDEF= 0:DDEF= 0: GOTO *YMDRNEW
  99. 3420 *S03:' 1月先 ---------------------------------------------------
  100. 3425  YDEF= 0:MDEF=+1:DDEF= 0: GOTO *YMDRNEW
  101. 3430 *S04:' 1月前 ---------------------------------------------------
  102. 3435  YDEF= 0:MDEF=-1:DDEF= 0: GOTO *YMDRNEW
  103. 3440 *S05:' 1日先 ---------------------------------------------------
  104. 3445  YDEF= 0:MDEF= 0:DDEF=+1: GOTO *YMDRNEW
  105. 3450 *S06:' 1日前 ---------------------------------------------------
  106. 3455  YDEF= 0:MDEF= 0:DDEF=-1: GOTO *YMDRNEW
  107. 3460 '
  108. 3500 *S07:' 1週間先 -------------------------------------------------
  109. 3505  YDEF= 0:MDEF= 0:DDEF=+1: WDEF=1:GOTO *YMDRNEW
  110. 3510 *S08:' 1週間前 -------------------------------------------------
  111. 3515  YDEF= 0:MDEF= 0:DDEF=-1: WDEF=1:GOTO *YMDRNEW
  112. 3520 *S21:' 本日 ----------------------------------------------------
  113. 3525  YR=TY:MN=TM:DY=TD
  114. 3530  YDEF= 0:MDEF= 0:DDEF= 0:GOTO *YMDRNEW
  115. 3560 '
  116. 3570 *YMDRNEW
  117. 3575  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  118. 3580  IF IPF=0 THEN 3610
  119. 3585  MESN=4:GOSUB *MESDSP
  120. 3590  CMES$="家計簿データ保存実行":GOSUB *確認
  121. 3600  IF CAUNO=2 THEN 3610
  122. 3605  GOSUB *家計簿データ保存
  123. 3610  GOSUB *年月日変更
  124. 3612  IF WDEF=0 THEN 3630 ELSE WDEF=0:DDEFX=DDEF
  125. 3614  FOR WKCII=2 TO 7:YDEF=0:MDEF=0:DDEF=DDEFX
  126. 3616    GOSUB *年月日変更
  127. 3618  NEXT WKCII
  128. 3630  GOSUB *日付表示
  129. 3650  MESN=6:GOSUB *MESDSP
  130. 3660  GOSUB *指定日データ表示
  131. 3670  IPF=0
  132. 3680  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  133. 3690  GOTO *メイン選択
  134. 3695 '
  135. 3700 *SSEL:'------------------------------------------------------------
  136. 3720  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  137. 3730  IPNO=B-(CBMAX+1):SWNOX=SWNO
  138. 3740  IF IPNO=0 THEN GOSUB *出来事入力   :GOTO 3770
  139. 3750     MESN=11:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
  140. 3755                 GOSUB *金額入力
  141. 3760     MESN=12:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
  142. 3765                 GOSUB *内容入力
  143. 3770  IPF=1:WAIT SWAIT
  144. 3780  G=1:B=SWNOX:BST(G,B)=0:GOSUB *BTN_ONOFF
  145. 3785  MES2OFF=0
  146. 3790  GOTO *メイン選択
  147. 3795 '
  148. 3800 *ITMSELECT:'-------------------------------------------------------
  149. 3810  IPNO=ITMN:SWNO=IPNO+CBMAX+1:SWNOX=SWNO
  150. 3820  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  151. 3830  IF IPNO=0 THEN GOSUB *出来事入力:GOTO 3870
  152. 3840  IF ITMK=2 THEN 3855
  153. 3845     MESN=11:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
  154. 3850                 GOSUB *金額入力  :GOTO 3870
  155. 3855     MESN=12:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
  156. 3860                 GOSUB *内容入力
  157. 3870  IPF=1:WAIT SWAIT
  158. 3880  G=1:B=SWNOX:BST(G,B)=0:GOSUB *BTN_ONOFF
  159. 3885  SWNO=SWNOX:MES2OFF=0
  160. 3890  GOTO *メイン選択
  161. 3895 '
  162. 3995 '
  163. 4000 *S09:'取消 --------------------------------------------------------
  164. 4010  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF 
  165. 4020  MESN=6:GOSUB *MESDSP
  166. 4030  GOSUB *指定日データ表示
  167. 4035  IPF=0
  168. 4040  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  169. 4050  GOTO *メイン選択
  170. 4060 '
  171. 4500 *S10:'保存 --------------------------------------------------------
  172. 4505  MCN=2:GOSUB *MCDSET
  173. 4510  GOSUB *家計簿データ保存
  174. 4530  GOSUB *指定日データ表示
  175. 4580  GOTO *メイン選択
  176. 4590 '
  177. 5000 *S12:'辞書使用スイッチ --------------------------------------------'
  178. 5010  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  179. 5020  IF DICIF=0 THEN MESN=14 ELSE MESN=15
  180. 5030  GOSUB *MESDSP
  181. 5035  DICIF=1-DICIF
  182. 5036  IF DICIF=1 AND DICEXF=0 THEN GOSUB *DICREAD
  183. 5040  GOSUB *辞書入力スイッチ:WAIT SWAIT\1+1'
  184. 5050  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  185. 5060  GOTO *メイン選択
  186. 5070 '
  187. 5100 *S11:'電卓使用スイッチ --------------------------------------------'
  188. 5110  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  189. 5120  IF CALCF=0 THEN MESN=18 ELSE MESN=19
  190. 5130  GOSUB *MESDSP
  191. 5135  CALCF=1-CALCF
  192. 5140  GOSUB *電卓入力スイッチ:WAIT SWAIT\1+1'
  193. 5150  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  194. 5160  GOTO *メイン選択
  195. 5170 '
  196. 5200 *S13:'累計表示-----------------------------------------------------'
  197. 5210  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  198. 5220  GOSUB *累計表表示
  199. 5250  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  200. 5260  GOTO *メイン選択
  201. 5270 '
  202. 5300 *S14:'定額処理-----------------------------------------------------'
  203. 5310  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  204. 5320  IF IPF=0 THEN 5420
  205. 5330  MESN=4:GOSUB *MESDSP
  206. 5340  CMES$="家計簿データ保存実行":GOSUB *確認
  207. 5350  IF CAUNO=2 THEN 5420
  208. 5360  GOSUB *家計簿データ保存
  209. 5420  GOSUB *定額支出編集
  210. 5450  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  211. 5460  GOTO *メイン選択
  212. 5490 '
  213. 6000 *S15:'About HK2---------------------------------------------------'
  214. 6010  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  215. 6020  MESN=1:GOSUB *MESDSP
  216. 6030  GOSUB *ABOUT表示
  217. 6060  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  218. 6070  GOTO *メイン選択
  219. 6080 '
  220. 6100 *S22:'Help ---------------------------------------------------'
  221. 6110  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  222. 6120  MESN=20:GOSUB *MESDSP
  223. 6130  GOSUB *HKHELP
  224. 6160  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  225. 6170  GOTO *メイン選択
  226. 6180 '
  227. 6200 *S24:'Digital Clock ----------------------------------------------'
  228. 6210  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  229. 6220  MESN=1:GOSUB *MESDSP
  230. 6230  GOSUB *DGCLOCK
  231. 6260  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  232. 6270  GOTO *メイン選択
  233. 6280 '
  234. 8000 *S99:'プログラム呼び出し・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  235. 8010 IF SWNO=HKIN THEN GOTO *メイン選択
  236. 8020 G=1:B=HKIN:BST(G,B)=0:GOSUB *BTN_ONOFF
  237. 8025 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  238. 8030  IF IPF=0 THEN 8110
  239. 8035  MESN=4:GOSUB *MESDSP
  240. 8040  CMES$="家計簿データ保存実行":GOSUB *確認
  241. 8045  IF CAUNO=2 THEN 8110
  242. 8050  GOSUB *家計簿データ保存
  243. 8110 MESN=9:GOSUB *MESDSP':MESN=24:GOSUB *SNDMSG
  244. 8120 INTERVAL OFF:GOSUB *SEFFECT2
  245. 8130 ON SWNO-15 GOTO *S99,*S17,*S18,*S19,*S20
  246. 8150 *S16:STOP'
  247. 8160 *S17:RUN "HK2src.bas"
  248. 8170 *S18:RUN "HK2anl.bas"
  249. 8180 *S19:RUN "HK2cld.bas"
  250. 8190 *S20:RUN "HK2cfg.bas"
  251. 8940 '
  252. 9000 *S23:'終了・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  253. 9020 G=1:B=HKINEND:BST(G,B)=1:GOSUB *BTN_ONOFF
  254. 9030  IF IPF=0 THEN 9110
  255. 9035  MESN=4:GOSUB *MESDSP
  256. 9040  CMES$="家計簿データ保存実行":GOSUB *確認
  257. 9045  IF CAUNO=2 THEN 9110
  258. 9050  GOSUB *家計簿データ保存
  259. 9060 '
  260. 9110 MESN=9:GOSUB *MESDSP:MESN=24:GOSUB *SNDMSG
  261. 9120 INTERVAL OFF:GOSUB *SEFFECT2
  262. 9150 RUN "HK2.bas"
  263. 9160 '
  264. 9900 '-------------------------------------------------------------------
  265. 9910 '    GENERAL SUB ROUTINE
  266. 9920 '-------------------------------------------------------------------
  267. 10000 *CHR1IN:'////////// 1文字入力
  268. 10010  A$=INKEY$:IF A$="" THEN 10010
  269. 10020  A=INSTR(C$,A$)
  270. 10030  IF A=0 THEN MESN=13:GOSUB *SNDMSG:GOTO 10010
  271. 10040  RETURN
  272. 10050 '
  273. 10060 '
  274. 10070 *MESDSP:'////////// メッセージ表示
  275. 10080  RESTORE *MESDAT
  276. 10090  FOR IM=1 TO MESN:READ XM,YM,CM,CB,BM,MES$:NEXT IM
  277. 10105  LINE(0,465)-(639,479),PSET,0,BF
  278. 10115  SYMBOL(0,465),MES$,.75!,.75!,CM
  279. 10120  'IF BM=1 THEN PLAY "L4O4A"
  280. 10130  RETURN
  281. 10140 '
  282. 10200 *MESDAT:'////////// メッセージデータ
  283. 10205 '    XM, YN, CM, CB, BM
  284. 10210 DATA  2, 23,  5,  0,  1 :'--- 01
  285. 10215 DATA "家計簿システム HK2 [記入]モード"
  286. 10220 DATA  2, 23,  7,  0,  0 :'--- 02
  287. 10225 DATA "適当なボタンをマウスカーソルで押して(左クリック)ください。"
  288. 10230 DATA  2, 23,  6,  0,  0 :'--- 03
  289. 10235 DATA "ディスクにこの月の家計簿ファイルがありません。新しくファイルを作りますか?"
  290. 10240 DATA  2, 23,  6,  0,  1 :'--- 04
  291. 10245 DATA "家計簿データが保存されていません!  保存する--[OK] 保存しない--[NG]"
  292. 10250 DATA  2, 23,  4,  0,  1 :'--- 05
  293. 10255 DATA "★家計簿ファイル新規作成中 !!"
  294. 10260 DATA  2, 23,  4,  0,  1 :'--- 06
  295. 10265 DATA "★家計簿ファイル読み込み中 !!"
  296. 10270 DATA  2, 23,  6,  0,  0 :'--- 07
  297. 10275 DATA "家計簿ファイルが無いため、この月のデータは読み込みできません!"
  298. 10280 DATA  2, 23,  7,  0,  0 :'--- 08
  299. 10285 DATA "このデータを家計簿ファイルに書き込んでよろしいですか? [OK],[NG]"
  300. 10290 DATA  2, 23,  5,  0,  1 :'--- 09
  301. 10295 DATA "★★★  しばらくお待ちください。"
  302. 10300 DATA  2, 23,  5,  0,  0 :'--- 10
  303. 10305 DATA "                                                                   出来事を記入してください。"
  304. 10310 DATA  2, 23,  5,  0,  0 :'--- 11
  305. 10315 DATA "                                                                     金額を記入してください。"
  306. 10320 DATA  2, 23,  5,  0,  0 :'--- 12
  307. 10325 DATA "                                                                     内容を記入してください。"
  308. 10330 DATA  2, 23,  4,  0,  1 :'--- 13
  309. 10335 DATA "★ 家計簿データ保存中。"
  310. 10340 DATA  2, 23,  4,  0,  1 :'--- 14
  311. 10345 DATA "各項目入力時の辞書入力を[ON]にします。"
  312. 10350 DATA  2, 23,  4,  0,  1 :'--- 15
  313. 10355 DATA "各項目入力時の辞書入力を[OFF]にします。"
  314. 10360 DATA  2, 23,  4,  0,  1 :'--- 16
  315. 10365 DATA "★ 辞書データ読み込み中  しばらくお待ちください"
  316. 10370 DATA  2, 23,  7,  0,  1 :'--- 17
  317. 10375 DATA "辞書から語句を選んでください。 "
  318. 10380 DATA  2, 23,  4,  0,  1 :'--- 18
  319. 10385 DATA "各項目の金額入力時に電卓を[ON]にします。"
  320. 10390 DATA  2, 23,  4,  0,  1 :'--- 19
  321. 10395 DATA "各項目の金額入力時に電卓を[OFF]にします。"
  322. 10400 DATA  2, 23,  5,  0,  1 :'--- 20
  323. 10405 DATA "HKHELP★記入モードの説明を表示しています。  頁移動-[ヒ][フ] 行移動-[▲][▼] 終了-[■]" 
  324. 10410 DATA  2, 23,  7,  0,  1 :'--- 21
  325. 10415 DATA "表は表示月の累計額及び今日現在の総累計額です。 [取消]-取消し"
  326. 10420 DATA  2, 23,  6,  0,  1 :'--- 22
  327. 10425 DATA "家計簿ファイルがありません。 表示年月日を強制変更します。"
  328. 10430 DATA  2, 23,  4,  0,  1 :'--- 23
  329. 10435 DATA "★累計・残高計算実行中。"
  330. 10440 DATA  2, 23,  7,  0,  1 :'--- 24
  331. 10445 DATA "[ネ]-内容設定 [▲/▼]-転記先変更 [allCopy/Copy]-転記 [終了]-終了"
  332. 10450 DATA  2, 23,  6,  0,  1 :'--- 25
  333. 10455 DATA "                                                                    内容を記入してください。"
  334. 10460 DATA  2, 23,  4,  0,  1 :'--- 26
  335. 10465 DATA "★定額支出項目を家計簿データファイルへ転記中。"
  336. 10470 DATA  2, 23,  6,  0,  1 :'--- 27
  337. 10475 DATA "定額支出項目を記入済みです。 転記をキャンセルします。"
  338. 10480 DATA  2, 23,  6,  0,  1 :'--- 28
  339. 10485 DATA "転記先が指定されていません。 転記をキャンセルします。"
  340. 10490 DATA  2, 23,  4,  0,  1 :'--- 29
  341. 10495 DATA ""
  342. 10590 '
  343. 10600 *SEFFECT1'////////////////////////////////////////////////////////
  344. 10605  SCREEN 1,1,2,1:PALETTE 9,[0,0,0]:LINE(0,0)-(639,479),PSET,1,BF
  345. 10610  GOSUB *表紙表示' SCREEN 1,0,2,1:GOSUB *表紙表示
  346. 10612  SCREEN 1,1,3,1:
  347. 10620  FOR II=0 TO 240 STEP 2:PALETTE 9,[II,II,II]
  348. 10621 '   LINE(320-II,240-II*3/4)-(320+II,240+II*3/4),PSET,0,B
  349. 10622     LINE(0,240-II)-(639,240+II),PSET,0,BF
  350. 10623  NEXT II
  351. 10630  INTERVAL ON' SCREEN 1,0,1,0:INTERVAL ON
  352. 10640  SCREEN 0
  353. 10645  RETURN
  354. 10650 '
  355. 10700 *SEFFECT2'////////////////////////////////////////////////////////
  356. 10712  SCREEN 1,1,3,1:
  357. 10720  FOR II=240 TO 0 STEP -1:PALETTE 9,[II,II,II]
  358. 10721     LINE(0,240+II)-(639,240-II),PSET,1,B
  359. 10723  NEXT II
  360. 10730  MESN=9:GOSUB *MESDSP
  361. 10740  RETURN
  362. 10990 '
  363. 11000 *SNDMSG:'  SAVE "SNDMSG.SUB",A
  364. 11005  IF SNDMF=0 THEN RETURN
  365. 11010  '・・・・・・・・・・・・・・・・・  サウンドメッセージ実行サブルーチン  1989.02.04
  366. 11020  '                   入力=MESN (メッセージNo.)
  367. 11030  '
  368. 11070  IF MESN>36 THEN *RETURN_SNDMSG :'END
  369. 11080  RESTORE *MSGNAM
  370. 11090  FOR IMSG=1 TO MESN
  371. 11100    READ MSGD$
  372. 11110  NEXT IMSG
  373. 11120  MSGFN$=SNDDRV$+"\"+MSGD$+"_F.SND"
  374. 11130  LOAD@ MSGFN$,MSGD%
  375. 11140  PCMPLAY MSGD%:WAIT SWAIT\1+1
  376. 11150 *RETURN_SNDMSG :RETURN
  377. 11160 *MSGNAM :'////////// .SND File Name Data
  378. 11170 DATA "OHA1"   :'  1 おはよう
  379. 11180 DATA "KONN"   :'  2 こんにちわ
  380. 11190 DATA "KONBAN" :'  3 こんばんわ
  381. 11200 DATA "goyuku" :'  4 ごゆっくり
  382. 11210 DATA "GOKRO2" :'  5 ごくろうさま
  383. 11220 DATA "OTUKA"  :'  6 お疲れさま
  384. 11230 DATA "DOUZO"  :'  7 おまたせ
  385. 11240 DATA "ARIGA2" :'  8 ありがとう
  386. 11250 DATA "RUNRUN" :'  9 るんるん
  387. 11260 DATA "DAMEDE" :' 10 だめでしょう
  388. 11270 DATA "IIDE1"  :' 11 いいですか
  389. 11280 DATA "NANISI" :' 12 なにしてるの
  390. 11290 DATA "DAMEDA" :' 13 だめだめ
  391. 11300 DATA "OWARI"  :' 14 終わりました
  392. 11310 DATA "SIBA"   :' 15 しばらくお待ち下さい
  393. 11320 DATA "YOROSI" :' 16 よろしいですか
  394. 11330 DATA "TYANTO" :' 17 ちゃんとしなさい
  395. 11340 DATA "ERANDE" :' 18 選んでください
  396. 11350 DATA "KAKNIN" :' 19 確認して下さい
  397. 11360 DATA "NYURYO" :' 20 入力してください
  398. 11370 DATA "IRA"    :' 21 いらっしゃいませ 
  399. 11380 DATA "OYASUM" :' 22 おやすみ
  400. 11390 DATA "ARIGA3" :' 23 ありがとうございました
  401. 11400 DATA "TYOTO"  :' 24 ちょっと待って
  402. 11410 DATA "DAMEYO" :' 25 駄目よ
  403. 11420 DATA "YAMETE" :' 26 やめて
  404. 11430 DATA "TIGAU"  :' 27 ちがうよ
  405. 11440 DATA "PINPON" :' 28 ぴんぽーん
  406. 11450 DATA "BUU"    :' 29 ぶー
  407. 11460 DATA "MOUII"  :' 30 もういいよう  
  408. 11470 DATA "DEKITA" :' 31 できたよー
  409. 11480 DATA "IIDE2"  :' 32 いいですか(2)
  410. 11490 DATA "YOSI"   :' 33 よしなさい
  411. 11500 DATA "OYOSI"  :' 34 およしなさい
  412. 11510 DATA "YAMENA" :' 35 やめなさい
  413. 11520 DATA "GOMEN"  :' 36 ごめん
  414. 11530 '                                    
  415. 12000 '////////// 年月日入力 & 曜日表示
  416. 12010 '                    
  417. 12045 *週検索
  418. 12050  DATA "SUN",2,"MON",7,"TUE",7,"WED",7,"THU",7,"FRI",7,"SAT",5
  419. 12060  GOSUB *WEEKN:RESTORE 12050:FOR IW=0 TO WK:READ WKM$,CW:NEXT IW
  420. 12080  RETURN
  421. 12090 '
  422. 12450 *WEEKN :'////////// 週NO.検索    'v1.3 bugfix 93.12.27
  423. 12460  U=0    :'・・・・・・・・・・・・・・・・・・・・・・・・ Input; YR MN   Output; WK DN
  424. 12470  IF YR/4-INT(YR/4)=0 THEN U=1
  425. 12480  DATA 0,31,28,31,30,31,30,31,31,30,31,30,31
  426. 12490  DATA 0,31,29,31,30,31,30,31,31,30,31,30,31
  427. 12500  IF U=0 THEN RESTORE 12480 ELSE RESTORE 12490
  428. 12505 'IF MN=1 THEN MDN=0:MNDN=31:GOTO 12520
  429. 12510  MDN=0:FOR IWEKN=1 TO MN:READ DN:MDN=MDN+DN:NEXT IWEKN:'1日までの日数
  430. 12515  READ MNDN                                              :'当月の日数
  431. 12516  IF DY>MNDN THEN DY=MNDN                                :'V1.3!
  432. 12520  YDN#=MDN+YR*365+INT((YR+3)/4)+5+DY-1
  433. 12530  WK=(YDN#/7-INT(YDN#/7))*7
  434. 12540  RETURN
  435. 12550 '
  436. 12600 *年月日変更:                     'v1.3 bugfix 93.12.27
  437. 12601  GOSUB *WEEKN
  438. 12602  DY=DY+DDEF
  439. 12604  IF DY>MNDN THEN DY=1     :MDEF=+1
  440. 12606  IF DY<1    THEN DY=31    :MDEF=-1
  441. 12610  MN=MN+MDEF
  442. 12620  IF MN>12   THEN MN=MN-12 :YDEF=+1
  443. 12630  IF MN<1    THEN MN=12+MN :YDEF=-1
  444. 12640  YR=YR+YDEF
  445. 12650  IF YR<0    THEN YR=10000+YR
  446. 12660  IF YR>9999 THEN YR=YR-10000
  447. 12665  GOSUB *WEEKN
  448. 12668  DY$=RIGHT$(STR$(100+DY),2)
  449. 12670  MN$=RIGHT$(STR$(100+MN),2)
  450. 12680  YR$=RIGHT$(STR$(10000+YR),4)
  451. 12690  RETURN
  452. 12695 '
  453. 12700 *本日の日付
  454. 12705  DEF FONT "システム   12ドット"
  455. 12710  TY$=LEFT$(DATE$,2) :TY=VAL(TY$)
  456. 12720  IF TY<90 THEN TY=TY+2000 ELSE TY=TY+1900
  457. 12730  TY$=RIGHT$(STR$(TY),4)
  458. 12740  TM$=MID$(DATE$,4,2):TM=VAL(TM$)
  459. 12750  TD$=RIGHT$(DATE$,2):TD=VAL(TD$)
  460. 12760  YR=TY:MN=TM:DY=TD:GOSUB *週検索:IF CW=0 THEN CW=7
  461. 12770  TYMD$=TY$+"."+TM$+"."+TD$
  462. 12780  LINE(475,5)-(560,17),PSET,0,BF
  463. 12790  SYMBOL(476,6),TYMD$,.75!,.75!,7
  464. 12800  SYMBOL(542,6),WKM$,.75!,.75!,CW
  465. 12810  RETURN
  466. 12820 '
  467. 13000 '////////////////////////////////////////////////////////////////////
  468. 13001 ' LKEYIN   v1.1a 全角文字移動改良                1993.02.12 T.Komura
  469. 13002 '--------- v1.2  挿入モードの変更他全面bugFIX    1993.08.04 T.Komura
  470. 13003 '          v2.0  グラフィックモード12dot用に改造 1994.07.30 T.Komura
  471. 13004 '          v2.1  マルチカラムに改造              1994.09.02 T.Komura
  472. 13005 '          v2.2  編集文字を初期表示するように改造1995.04.29 T.Komura
  473. 13006 '
  474. 13010 *LKEYIN  :'・・・・・・・・・・・ 1 行全角文字入力サブルーチン
  475. 13020 '   入力 = LX,LY : 表示開始座標      LG    : 行数     
  476. 13030 '          L$(ii): 初期文字列        LP    : 行ピッチ       
  477. 13040 '          LC    : 表示文字色        lb    : 非編集行文字色
  478. 13050 '          LL    : 最大文字数        cbc    : 背景色
  479. 13060 '          LINS  : 挿入モード=1  出力=L$(ii) : 入力後の文字列
  480. 13070 '         
  481. 13080  LCSRCL=6:LLINCL=4
  482. 13090  DEF FONT "システム   12ドット"
  483. 13100 '           CR   MR   ML  INS  DEL   BS  CAN
  484. 13120  CONSOLE 0,24,2
  485. 13130  CC$=CHR$(&H0D,&H1E,&H1F,&H1C,&H1D,&H12,&H7F,&H08,&H18)
  486. 13140 ' LMG$=SPACE$(LL):LMGD$=SPACE$(LL)          :'2.1
  487. 13150  LA$=INKEY$:IF LA$<>"" THEN 13150
  488. 13160  IF LINS=1 THEN CWDT=1 ELSE CWDT=5
  489. 13170  LCSR=0:LGC=1                               :'v2.1
  490. 13180  LINE(LX,LY)-(LX+LL*6+1,LY+11),PSET,%CBC,BF :'v2.2
  491. 13185  GET@A (LX,LY)-(LX+LL*6+1,LY+13),LMB#       :'v2.0
  492. 13190  FOR LGII=1 TO LG:LXX=LX:LYY=LY+(LGII-1)*LP :'v2.1・・・・ 初期文字列表示
  493. 13200   PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB#    :'v2.1
  494. 13210   SYMBOL(LXX,LYY),L$(LGII),.75!,.75!,LB     :'v2.1
  495. 13220  NEXT LGII                                  :'v2.1
  496. 13230 *SETLG             :'----------行セット     :'v2.1
  497. 13240  LYY=LY+(LGC-1)*LP :LM$=L$(LGC)             :'v2.1
  498. 13250   SYMBOL(LXX,LYY),L$(LGC),.75!,.75!,LC      :'v2.1
  499. 13260  LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF :'v2.1
  500. 13270  LCSRX=LCSR:GOSUB *LCSRDX
  501. 13280  LMX$=LEFT$(LM$+SPACE$(LL),LL)
  502. 13290  GOSUB *LMREAD
  503. 13300  IF LMGB$="1" THEN GOSUB *LCSRDEC
  504. 13310 *IN1C:'                                  ・・・・・・・・・・ 1 文字入力
  505. 13320  LA$=INKEY$:IF LA$="" THEN 13320
  506. 13330  ALA=ASC(LA$):CLA=INSTR(CC$,LA$)
  507. 13340  IF CLA=0 THEN 13360
  508. 13350  ON CLA GOTO *CR,*MU,*MD,*MR,*ML,*INS,*DEL,*BS,*CAN
  509. 13360  IF KANF=1 THEN *KANJI
  510. 13370  IF ALA<&H20 THEN BEEP:GOTO *IN1C
  511. 13380  IF ALA>=&H20 AND ALA<&H80 THEN *ANK
  512. 13390  IF ALA>=&HA0 AND ALA<&HE0 THEN *ANK
  513. 13400  GOTO *KANJI
  514. 13410 *ANK :'                                  ・・・・・・・・・・ ANK 文字入力
  515. 13420  IF LINS=1 THEN 13440
  516. 13430  MID$(LMX$,LCSR+1,1)=LA$:GOTO 13450
  517. 13440  LMX$=LEFT$(LMX$,LCSR)+LA$+RIGHT$(LMX$,LL-LCSR)
  518. 13450  GOSUB *LCSRINC
  519. 13460  GOSUB *LMREAD1:GOSUB *LMXDSP
  520. 13470  GOTO *IN1C
  521. 13480 *KANJI :'                                ・・・・・・・・・・ 漢字文字入力
  522. 13490  ON KANF+1 GOTO 13500,13530
  523. 13500  KANF=1:KANW$="":KANW$=LA$
  524. 13510    IF LCSR+1>=LL THEN KANF=0:BEEP
  525. 13520    GOSUB *LCSRD:GOTO *IN1C
  526. 13530  KANF=0:KANW$=KANW$+LA$
  527. 13540    IF LINS=1 THEN 13560
  528. 13550    MID$(LMX$,LCSR+1,2)=KANW$:GOTO 13570
  529. 13560    LMX$=LEFT$(LMX$,LCSR)+KANW$+RIGHT$(LMX$,LL-LCSR)
  530. 13570    GOSUB *LCSR2INC
  531. 13580    GOSUB *LMREAD1:GOSUB *LMXDSP
  532. 13590  GOTO *IN1C
  533. 13600 *CR :GOSUB *LMREAD:GOSUB *LCSRDX         '////////// End
  534. 13610   LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF     :'v2.0 :'v2.1
  535. 13620   CONSOLE 0,24,0
  536. 13630 RETURN:'----------------------------------------------------------
  537. 13640 *MU :GOSUB *LMREAD2                      '////////// up   :v2.1
  538. 13645 *MU2:GOSUB *LMBDSP:LGC=LGC-1:IF LGC<1 THEN LGC=1
  539. 13655      GOTO *SETLG
  540. 13660 *MD :GOSUB *LMREAD2                      '////////// down :v2.1
  541. 13665 *MD2:GOSUB *LMBDSP:LGC=LGC+1:IF LGC>LG THEN LGC=LG
  542. 13675      GOTO *SETLG
  543. 13680 *MR :GOSUB *LMREAD2                      '////////// Right
  544. 13685      IF LMGF$="1" THEN GOSUB *LCSR2INC:GOTO *MUD    :'v2.1
  545. 13690                        GOSUB *LCSRINC :GOTO *MUD    :'v2.1
  546. 13695 *ML :GOSUB *LMREAD2                      '////////// Left
  547. 13700      IF LMGB$="2" THEN GOSUB *LCSR2DEC:GOTO *MUD    :'v2.1
  548. 13705                        GOSUB *LCSRDEC :GOTO *MUD    :'v2.1
  549. 13710 *MUD:IF LCSC=0  THEN GOTO *IN1C          '////////// line chg.ctrl:'v2.1
  550. 13715      IF LCSC=+1 THEN GOSUB *LMREAD2:LCSR=0 :GOTO *MD2
  551. 13720      IF LCSC=-1 THEN GOSUB *LMREAD2:LCSR=LL:GOTO *MU2
  552. 13725 *INS:GOSUB *LCSRDX:LINS=1-LINS           '////////// Insert
  553. 13730      IF LINS=1 THEN CWDT=1 ELSE CWDT=5
  554. 13735      GOSUB *LCSRDX                    :GOTO *IN1C
  555. 13740 *DEL:GOSUB *LMREAD:LMX$=LEFT$(LMG$,LCSR) '////////// Delete
  556. 13745      IF LMGF$="1" THEN LDEF=2 ELSE LDEF=1
  557. 13750      LMX$=LMX$+MID$(LMG$,LCSR+LDEF+1,LL-LCSR-LDEF)+"  "
  558. 13755      GOSUB *LMREAD:GOSUB *LMXDSP      :GOTO *IN1C
  559. 13760 *BS :GOSUB *LMREAD                       '////////// BackSpace
  560. 13765      IF LCSR=0 THEN GOTO *IN1C
  561. 13770      IF LMGB$="2" THEN GOSUB *LCSR2DEC:LDEF=2:GOTO 13780
  562. 13775                        GOSUB *LCSRDEC :LDEF=1:GOTO 13780
  563. 13780      LMX$=LEFT$(LMG$,LCSR)+RIGHT$(LMG$,LL-LCSR-LDEF)+"  "
  564. 13785      GOSUB *LMREAD:GOSUB *LMXDSP      :GOTO *IN1C
  565. 13790 *CAN :LMX$=SPACE$(LL)                    '////////// Clear
  566. 13795      GOSUB *LMXDSP:LCSR=0:GOSUB *LCSRD
  567. 13800      GOSUB *LMREAD                    :GOTO *IN1C
  568. 13805 *LMREAD:                                 '////////// Disp Char Read 
  569. 13810      LMGFX$=MID$(LMGDX$,LCSR+1,1)
  570. 13815      IF LMGFX$="2" OR LMGF$="2" THEN MID$(LMX$,LCSR+1,1)=" "
  571. 13820 *LMREAD1:LMGD$=""
  572. 13825          FOR II=1 TO KLEN(LMX$)
  573. 13830            LMG=KTYPE(LMX$,II)
  574. 13835            IF LMG=0 THEN LMD$="0" ELSE LMD$="12"
  575. 13840            LMGD$=LMGD$+LMD$
  576. 13845          NEXT II
  577. 13850          IF LEN(LMGD$)<=LL THEN 13860
  578. 13855          LMGD$=LEFT$(LMGD$,LL):LMX$=LEFT$(LMX$,LL)
  579. 13860          IF RIGHT$(LMGD$,1)<>"1" THEN 13870
  580. 13865          MID$(LMGD$,LL,1)="0":MID$(LMX$,LL,1)=" "
  581. 13870 *LMREAD2:LMGF$=MID$(LMGD$,LCSR+1,1)
  582. 13875          IF LCSR=0 THEN LMGB$="0" ELSE LMGB$=MID$(LMGD$,LCSR,1)
  583. 13880          LMG$=LMX$:LMGDX$=LMGD$:L$(LGC)=LMG$
  584. 13885          RETURN
  585. 13890 *LCSRD :LXC=(LX+6*LCSR ):LYC=LYY:GOSUB *LCSRL: 'v2.0 :'v2.1//// Csr Disp
  586. 13895 *LCSRDX:LXC=(LX+6*LCSRX):LYC=LYY:GOSUB *LCSRL: 'v2.0 :'v2.1//// Csr Erace
  587. 13900         LCSRX=LCSR:RETURN
  588. 13905 *LCSRL :LINE(LXC,LYC+0)-(LXC+CWDT,LYC+12),XOR,LCSRCL,BF:RETURN
  589. 13910 *LCSRINC :LCSC=0:LCSR=LCSR+1:IF LCSR>=LL THEN LCSR=LL-1:LCSC=+1
  590. 13915           GOSUB *LCSRD:RETURN
  591. 13920 *LCSR2INC:LCSC=0:LCSR=LCSR+2:IF LCSR>=LL THEN LCSR=LL-2:LCSC=+1
  592. 13925           GOSUB *LCSRD:RETURN
  593. 13930 *LCSRDEC :LCSC=0:LCSR=LCSR-1:IF LCSR<0 THEN LCSR=0     :LCSC=-1
  594. 13935           GOSUB *LCSRD:RETURN
  595. 13940 *LCSR2DEC:LCSC=0:LCSR=LCSR-2:IF LCSR<0 THEN LCSR=LCSR+2:LCSC=-1
  596. 13945           GOSUB *LCSRD:RETURN
  597. 13950 *LMXDSP  :PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB#    :'v2.0   :'v2.1
  598. 13955           LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF   :'v2.0
  599. 13960           SYMBOL(LX,LYY),LMX$,.75!,.75!,LC
  600. 13965           GOSUB *LCSRDX:RETURN
  601. 13970 *LMBDSP  :PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB#    :'v2.1
  602. 13975           SYMBOL(LX,LYY),LMX$,.75!,.75!,LB:RETURN   :'v2.1
  603. 13980 '-------------------------------------------------------------------
  604. 14000 'マウス,ウインドウ関係サブルーチン集   v1.0 1995.05.14
  605. 14010 '--------------------------------------------------
  606. 14020 '
  607. 14030 'マウスカーソル形状セット   v1.0 1994.02.13
  608. 14040 *MCDSET
  609. 14050  MOUSE 2,MCAND$(MCN),MCDOT$(MCN),MC_X(MCN),MC_Y(MCN)
  610. 14060  RETURN
  611. 14070 *MCREAD
  612. 14080  RESTORE *MCDATA
  613. 14090  FOR II=1 TO 3
  614. 14100    FOR JJ=1 TO 32:MCAND$(II)="":MCDOT$(II)="":NEXT JJ
  615. 14110    READ MC_X(II),MC_Y(II)
  616. 14120    FOR JJ=1 TO 32:READ MCAND:MCAND$(II)=MCAND$(II)+CHR$(MCAND):NEXT JJ
  617. 14130    FOR JJ=1 TO 32:READ MCDOT:MCDOT$(II)=MCDOT$(II)+CHR$(MCDOT):NEXT JJ
  618. 14140  NEXT II
  619. 14150  RETURN
  620. 14160 *MCDATA
  621. 14170 '指 ////////////////////////////////////////
  622. 14171 DATA 0,0
  623. 14172 DATA &H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H83,&HFF' and
  624. 14173 DATA &HC0,&H3F,&HE0,&H07,&HF0,&H01,&HF8,&H00
  625. 14174 DATA &HF0,&H00,&HE0,&H00,&HE0,&H00,&HE0,&H00
  626. 14175 DATA &HE0,&H00,&HF0,&H00,&HF8,&H00,&HFC,&H00
  627. 14176 DATA &H00,&H00,&H60,&H00,&H30,&H00,&H18,&H00' dot
  628. 14177 DATA &H0C,&H00,&H06,&H80,&H03,&H50,&H01,&HAA
  629. 14178 DATA &H05,&HFE,&H04,&HFE,&H06,&HFE,&H07,&HFE
  630. 14179 DATA &H03,&HFF,&H01,&HFF,&H00,&H7F,&H00,&H1F
  631. 14180 'コーヒー///////////////////////////////////
  632. 14181 DATA 7,7
  633. 14182 DATA &HFF,&HFF,&HF2,&H4F,&HE4,&H9F,&HE4,&H9F' and
  634. 14183 DATA &HE6,&H1F,&HF2,&H4F,&HC0,&H07,&HC0,&H01
  635. 14184 DATA &HC0,&H06,&HC0,&H06,&HC0,&H05,&HC0,&H03
  636. 14185 DATA &HE0,&H0F,&H80,&H01,&HC0,&H03,&HE0,&H07
  637. 14186 DATA &H00,&H00,&H04,&H90,&H09,&H20,&H09,&H20' dot
  638. 14187 DATA &H08,&HA0,&H04,&H90,&H00,&H00,&H1F,&HF0
  639. 14188 DATA &H15,&HF0,&H13,&H30,&H15,&H30,&H1F,&HF0
  640. 14189 DATA &H0F,&HE0,&H00,&H00,&H1F,&HF8,&H00,&H00
  641. 14190 '待った //////////////////////////////////////
  642. 14191 DATA 7,7
  643. 14192 DATA &HF0,&H1F,&HC0,&H07,&H80,&H03,&H80,&H03' and
  644. 14193 DATA &H00,&H01,&H00,&H01,&H00,&H01,&H00,&H01
  645. 14194 DATA &H00,&H01,&H00,&H01,&H00,&H01,&H80,&H03
  646. 14195 DATA &H80,&H03,&HC0,&H07,&HF0,&H1F,&HFF,&HFF
  647. 14196 DATA &H00,&H00,&H00,&H00,&H07,&HC0,&H1F,&H80' dot
  648. 14197 DATA &H1F,&H00,&H3E,&H08,&H3C,&H18,&H38,&H38
  649. 14198 DATA &H30,&H78,&H20,&HF8,&H01,&HF0,&H03,&HF0
  650. 14199 DATA &H07,&HC0,&H00,&H00,&H00,&H00,&H00,&H00
  651. 14200 '
  652. 14210 *MCDRAG 'ドラッグ -----------------------------------------------
  653. 14220  MOUSE 1,X_M,Y_M,1                            :'現在位置にカーソルを設定
  654. 14225  MD_XB1=W_X1(G):MD_YB1=W_Y1(G) :MD_XC1=W_X1(G):MD_YC1=W_Y1(G) :'旧ウインドウ座標保持
  655. 14230  MD_XB2=W_X2(G):MD_YB2=W_Y2(G) :MD_XC2=W_X2(G):MD_YC2=W_Y2(G) :'旧ウインドウ座標保持
  656. 14235  GET@A(MD_XB1,MD_YB1)-(MD_XB2,MD_YB2),MD_SW#
  657. 14238  X1=X_M-W_X1(G)+W_XA(G):X2=X_M+W_XB(G)-W_X2(G):'最大移動域の設定
  658. 14239  Y1=Y_M-W_Y1(G)+W_YA(G):Y2=Y_M+W_YB(G)-W_Y2(G):'
  659. 14240  MOUSE 4,X1,Y1,X2,Y2                          :'最大移動域の設定
  660. 14245  GOSUB *MD_WLINED
  661. 14250  IF MOUSE(2,0)=-1 THEN 14245                  :'枠移動
  662. 14255   LINE(MD_XC1,MD_YC1)-(MD_XC2,MD_YC2),XOR,4,B,&HCCCC     :'枠線消去
  663. 14260  PUT@A(MD_XB1,MD_YB1)-(MD_XB2,MD_YB2),MD_SB#      :'旧ウインドウ背景表示
  664. 14265  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#  :'新ウインドウ背景保持
  665. 14270  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SW#  :'新ウインドウ描画
  666. 14275  MOUSE 4,0,0,639,479:WAIT SWAIT\4+1:RETURN
  667. 14280 *MD_WLINED
  668. 14285  MD_X_M=MOUSE(9) :MD_Y_M=MOUSE(10)                :'移動量取得
  669. 14290  W_X1(G)=W_X1(G)+(MD_X_M):W_Y1(G)=W_Y1(G)+(MD_Y_M):'新座標計算
  670. 14295  W_X2(G)=W_X2(G)+(MD_X_M):W_Y2(G)=W_Y2(G)+(MD_Y_M)
  671. 14300  LINE(MD_XC1 ,MD_YC1 )-(MD_XC2 ,MD_YC2 ),XOR,4,B,&HCCCC  :'枠線移動
  672. 14305  LINE(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),XOR,4,B,&HCCCC
  673. 14310  MD_XC1=W_X1(G):MD_YC1=W_Y1(G)
  674. 14315  MD_XC2=W_X2(G):MD_YC2=W_Y2(G)
  675. 14320  RETURN
  676. 14400 '------------------------------------------------------------------
  677. 14405 *ボタン座標読み取り
  678. 14410  RESTORE *ボタン座標:READ SWGN
  679. 14415  FOR G=1 TO SWGN
  680. 14420    READ SWN(G), W_X1(G),W_X2(G),W_Y1(G),W_Y2(G), W_XA(G),W_XB(G),W_YA(G),W_YB(G)
  681. 14425    FOR B=1 TO SWN(G):READ B_X1(G,B),B_X2(G,B),B_Y1(G,B),B_Y2(G,B):NEXT B
  682. 14430  NEXT G
  683. 14435  RETURN
  684. 14500 '-----------------------------------------------------------------
  685. 14505 *BTN_ONOFF:'ボタンON_OFF表示
  686. 14510  IF BST(G,B)=1 THEN BSC=15:BSB=1:GOTO 14520
  687. 14515                     BSC=1:BSB=15
  688. 14520   X1=W_X1(G)+B_X1(G,B):X2=W_X1(G)+B_X2(G,B)
  689. 14521   Y1=W_Y1(G)+B_Y1(G,B):Y2=W_Y1(G)+B_Y2(G,B)
  690. 14522   CONNECT(X1,Y2)-(X2,Y2)-(X2,Y1),%BSC,PSET
  691. 14523   CONNECT(X1,Y2)-(X1,Y1)-(X2,Y1),%BSB,PSET
  692. 14530  IF BSNDOFF=1 THEN WAIT SWAIT\10+1:GOTO 14540
  693. 14535  IF BST(G,B)=1 THEN SMSGPLAY 0:WAIT SWAIT\5+1
  694. 14540  BSNDOFF=0:RETURN
  695. 14600 '-----------------------------------------------------------------
  696. 14610 *MCSELECT:'マウスボタン選択
  697. 14620  SWERC=0:SWNO=0:X_M=-1:Y_M=-1           :'リセット
  698. 14630 *クリック待ち
  699. 14640  IF MOUSE(2,0)=-1 THEN 14680            :'左クリック入力待ち
  700. 14650  IF MOUSE(2,1)=-1 THEN SWNO=-1:RETURN   :'右クリックで終了
  701. 14660  IF MCKEY=1 THEN GOTO 14830             :'MCKEY=1: マウススキャン中断、キー入力受付
  702. 14670  GOTO *クリック待ち
  703. 14680  X_M=MOUSE(4,0):Y_M=MOUSE(5,0)          :'座標取得
  704. 14690  FOR IMS=1 TO SWN(G)                    :'ボタン座標判定
  705. 14700    IF (X_M>W_X1(G)+B_X1(G,IMS)) AND (X_M<W_X1(G)+B_X2(G,IMS)) ELSE 14730
  706. 14710    IF (Y_M>W_Y1(G)+B_Y1(G,IMS)) AND (Y_M<W_Y1(G)+B_Y2(G,IMS)) ELSE 14730
  707. 14720    SWNO=IMS:IMS=SWN(G)+1
  708. 14730  NEXT IMS
  709. 14735  WAIT SWAIT\8+1 'FOR II=1 TO 500:NEXT II
  710. 14740  IF (SWPASS=1) OR (SWNO<>0) THEN 14830
  711. 14750  IF SWNO=0 THEN
  712. 14760     GOSUB *MCMIS:SWERC=SWERC+1           '誤指定警告表示
  713. 14770     IF SWERC>5 THEN
  714. 14780       MCN=3:GOSUB *MCDSET:MESN=12:GOSUB *SNDMSG            '誤指定警告音声案内
  715. 14790       MCN=1:GOSUB *MCDSET
  716. 14800     ENDIF
  717. 14810  ENDIF
  718. 14820  GOTO *クリック待ち
  719. 14830  SWPASS=0:SW1T=0:MCKEY=0
  720. 14840  RETURN
  721. 14850 *MCMIS
  722. 14860  MCN=3:GOSUB *MCDSET:WAIT SWAIT\3+1:MCN=1:GOSUB *MCDSET
  723. 14870  RETURN
  724. 14880 '
  725. 14890 '
  726. 15000 '
  727. 15010 '  SAVE"TCLOCK.sub"             :'   組み込み型 アナログ時計 V1.1
  728. 15020 '                                       1991.05 T.KOMURA 
  729. 15030 '--------------------------------------------------------------------
  730. 15040 '
  731. 15220 *時計表示:'///////////////////////////////////
  732. 15230  XCLK0=579:YCLK0=11:CLKR=9:PI=3.1415!
  733. 15240  TIMEX$=TIME$:IF DATE$<>DATX$ THEN GOSUB *本日の日付
  734. 15250  TSC$=MID$(TIMEX$,7,2):SCR=2*PI*(VAL(TSC$)/60)
  735. 15260  TMN$=MID$(TIMEX$,4,2):MNR=2*PI*(VAL(TMN$)/60)
  736. 15270  THR$=LEFT$(TIMEX$,2) :HRR=2*PI*((VAL(THR$)*60+VAL(TMN$))/720)
  737. 15280  GOSUB *短針表示
  738. 15290  GOSUB *長針表示
  739. 15300  GOSUB *秒針表示
  740. 15305  IF DCLOCKF=1 THEN GOSUB *DCLOCKD
  741. 15310  CLOCKINIT=1:DATX$=DATE$
  742. 15320  RETURN
  743. 15330 '
  744. 15340 *短針表示
  745. 15350  XHD1=XCLK0+(CLKR*.6!)*SIN(HRR):XHD2=XCLK0
  746. 15360  YHD1=YCLK0-(CLKR*.6!)*COS(HRR):YHD2=YCLK0
  747. 15370  IF CLOCKINIT=0 THEN 15400
  748. 15380  IF SCR<>0 THEN 15420
  749. 15390  LINE(XHD1X,YHD1X)-(XHD2X,YHD2X),XOR,6
  750. 15400  LINE(XHD1 ,YHD1 )-(XHD2 ,YHD2 ),XOR,6
  751. 15410  XHD1X=XHD1:YHD1X=YHD1:XHD2X=XHD2:YHD2X=YHD2
  752. 15420  RETURN
  753. 15430 *長針表示
  754. 15440  XMD1=XCLK0+(CLKR*.8!)*SIN(MNR):XMD2=XCLK0
  755. 15450  YMD1=YCLK0-(CLKR*.8!)*COS(MNR):YMD2=YCLK0
  756. 15460  IF CLOCKINIT=0 THEN 15490
  757. 15470  IF SCR<>0 THEN 15510
  758. 15480  LINE(XMD1X,YMD1X)-(XMD2X,YMD2X),XOR,7
  759. 15490  LINE(XMD1 ,YMD1 )-(XMD2 ,YMD2 ),XOR,7
  760. 15500  XMD1X=XMD1:YMD1X=YMD1:XMD2X=XMD2:YMD2X=YMD2
  761. 15510  RETURN
  762. 15520 *秒針表示
  763. 15530  XSD1=XCLK0+(CLKR)*SIN(SCR):XSD2=XCLK0:'+(CLKR-10)*SIN(SCR)
  764. 15540  YSD1=YCLK0-(CLKR)*COS(SCR):YSD2=YCLK0:'-(CLKR-10)*COS(SCR)
  765. 15550  IF CLOCKINIT=0 THEN 15570
  766. 15560  LINE(XSD1X,YSD1X)-(XSD2X,YSD2X),XOR,4
  767. 15570  LINE(XSD1 ,YSD1 )-(XSD2 ,YSD2 ),XOR,4
  768. 15580  XSD1X=XSD1:YSD1X=YSD1:XSD2X=XSD2:YSD2X=YSD2
  769. 15590  RETURN
  770. 15600 '////////////////////////////////////////////////////////////////////
  771. 15605 ' DIGITAL CLOCK v1.0 1995.05.24 T.Komura
  772. 15610 *DCLOCKREAD:'プログラム先頭で実施
  773. 15615  RESTORE *DCLOCKDATA
  774. 15620  FOR DGII=0 TO 9:FOR DGN=1 TO 7:READ DGP(DGII,DGN):NEXT:NEXT 
  775. 15625  FOR DGII=1 TO 9:READ DGX(DGII),DGY(DGII):NEXT
  776. 15630  FOR DGII=1 TO 4:READ DGO(DGII):NEXT
  777. 15635  RETURN
  778. 15640 *DGCLOCK:'デジタル時計 -------------------------------
  779. 15645  G=8:SWNOX=SWNO:DGINIT=0:DGFC=15:DGBC=1
  780. 15650  GOSUB *DCLOCKLOAD:GOSUB *DCLOCKD:DCLOCKF=1
  781. 15655 *DGMCSEL
  782. 15660  GOSUB *MCSELECT:'マウスボタン選択
  783. 15665  IF SWNO=0 THEN *DGMCSEL
  784. 15670  IF SWNO<0 THEN SWNO=1:'右クリックで終了
  785. 15675 '             end  drag
  786. 15680  ON SWNO GOTO *DGS01,*DGS02 
  787. 15685 *DGS02:'drag
  788. 15690  DCLOCKF=0
  789. 15692  GOSUB *MCDRAG
  790. 15694  DCLOCKF=1
  791. 15695  GOTO *DGMCSEL
  792. 15700 *DGS01:'end
  793. 15705  B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  794. 15710  DCLOCKF=0
  795. 15715  GOSUB *DCLOCKCLR
  796. 15720  SWNO=SWNOX
  797. 15725  RETURN
  798. 15730 *DCLOCKLOAD
  799. 15735  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  800. 15740  MOUSE 1,,,0
  801. 15745  LOAD@ TIFDRV$+"\dclock.tif",(W_X1(G),W_Y1(G)):MOUSE 1,,,1
  802. 15750  MOUSE 1,,,1:RETURN
  803. 15760 *DCLOCKCLR
  804. 15765  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  805. 15770  RETURN
  806. 15775 '
  807. 15780 *DCLOCKD
  808. 15785  IF DGINIT=1 THEN 15795
  809. 15790  FOR DGII=1 TO 4:DGM(DGII)=10:NEXT DGII:DGINIT=1
  810. 15795  DG(1)=VAL(MID$(TIME$,1,1)):DG(2)=VAL(MID$(TIME$,2,1))
  811. 15800  DG(3)=VAL(MID$(TIME$,4,1)):DG(4)=VAL(MID$(TIME$,5,1))
  812. 15805  DGPT=1-DGPT
  813. 15810  FOR DGII=1 TO 4
  814. 15815    IF DG(DGII)=DGM(DGII) THEN 15840
  815. 15820    FOR DGJJ=1 TO 7
  816. 15825      IF DGP(DG(DGII),DGJJ)=1 THEN DGC=DGFC ELSE DGC=DGBC
  817. 15826      IF DGII=1 AND DG(1)=0 THEN DGC=DGBC
  818. 15830      PAINT(W_X1(G)+DGX(DGJJ)+DGO(DGII),W_Y1(G)+DGY(DGJJ)),%DGC,0
  819. 15835    NEXT DGJJ
  820. 15840  NEXT DGII
  821. 15841      IF DGPT=1 THEN DGC=10 ELSE DGC=DGBC
  822. 15842      PAINT(W_X1(G)+DGX(8),W_Y1(G)+DGY(8)),%DGC,0
  823. 15843      PAINT(W_X1(G)+DGX(9),W_Y1(G)+DGY(9)),%DGC,0
  824. 15845  FOR DGII=1 TO 4:DGM(DGII)=DG(DGII):NEXT DGII'
  825. 15850  RETURN
  826. 15855 '
  827. 16000 '-------------------------------------------------------------------
  828. 16005 *HKCALC' 16000-
  829. 16010 '  SAVE"hkcalc.sub"             :'   組み込み型 家計簿電卓 V1.1
  830. 16015 '  1993.09 T.KOMURA 
  831. 16020 '  1994.06 T.KOMURA 消費税計算追加                         v1.2
  832. 16021 '  1995.05 T.KOMURA ウインドウドラッグ対応                 v1.2
  833. 16025 '--------------------------------------------------------------------
  834. 16030  CALCCN$="0123456789"  :G=4
  835. 16035  CALCCC$=CHR$(&H0D,&H2E,&H3D,&H2A,&H2F,&H2B,&H2D,&H1B,&H08,&H18,&H09)
  836. 16040 '               CR   .    =    *    /    +    -   ESC   BS  CAN  TAB
  837. 16045  CALCC$=CALCCN$+CALCCC$
  838. 16050  GOSUB *電卓枠表示
  839. 16055  CALCD=0:CALP=0:CALI$="0":CALTAXF=0:ENDF=1 :'v1.2
  840. 16060  IF SSUB=0 THEN CALN#=VAL(DYN$(IPNO)) ELSE CALN#=VAL(SDYN$(SPNO))
  841. 16065  CALR#=CALN#:CALRX#=CALR#
  842. 16070  CALD$=RIGHT$(SPACE$(12)+STR$(CALN#),12)
  843. 16075  CALDF=0:GOSUB *電卓数値表示
  844. 16080  A$=INKEY$:IF A$<>"" THEN 16080
  845. 16085 *CALCMAIN'///////////////////////////
  846. 16090  GOSUB *CALCIN
  847. 16092  IF SWNO<0 THEN SWNO=11+8
  848. 16095  IF (CALE=1) AND (SWNO<>21)     THEN *CALCMAIN
  849. 16100  IF SWNO=23 THEN GOSUB *MCDRAG :GOTO *CALCMAIN
  850. 16102  G=4:B=SWNO:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
  851. 16105  IF SWNO<11 THEN GOTO *数値入力
  852. 16110  IF SWNO=11 THEN GOTO *千入力
  853. 16115  ON SWNO-11 GOTO *CA1,*CA2,*CA3,*CA4,*CA5,*CA6,*CA7,*CA8,*CA9,*CA10,*CA11
  854. 16120 '                 CR   .    =    *    /    +    -    ESC  BS   CAN   tax:'v1.2
  855. 16125 *CA1 : GOSUB *CALCEXE                 :'---------------------[CR ]
  856. 16130        IF CALE=1 THEN GOTO *CALCMAIN
  857. 16135        CALDF=2:GOSUB *電卓数値表示
  858. 16140        CALN#=0:CALI$="0":CALP=0
  859. 16145        CALM$="OK":GOSUB *電卓記号表示
  860. 16150        CALRX#=CALR#:ENDF=0:GOTO *CA8
  861. 16155 *CA2 : IF CALP=1 THEN 16170           :'---------------------[ . ]
  862. 16160        CALI$=RIGHT$(SPACE$(12)+CALI$+".",12)
  863. 16165        CALP=1:CALDF=1:GOSUB *電卓数値表示
  864. 16170        G=4:B=SWNO:BST(G,B)=0:BSNDOFF=1:GOSUB *BTN_ONOFF
  865. 16175        GOTO *CALCMAIN
  866. 16180 *CA3   GOSUB *CALCEXE:CALCD=5         :'---------------------[ = ]
  867. 16185        IF CALE=1 THEN GOTO *CALCMAIN
  868. 16190        CALDF=2:GOSUB *電卓数値表示
  869. 16195        CALN#=0:CALI$="0":CALP=0:PLAY "V8O7L8EC"
  870. 16200        CALM$="▼":GOSUB *電卓記号表示 :GOTO *CALCMAIN
  871. 16205 *CA4 : GOSUB *CALCEXE:CALCD=1         :'---------------------[ * ]
  872. 16210        CALM$="×":GOSUB *電卓記号表示 :GOTO *CALCMAIN
  873. 16215 *CA5 : GOSUB *CALCEXE:CALCD=2         :'---------------------[ / ]
  874. 16220        CALM$="÷":GOSUB *電卓記号表示 :GOTO *CALCMAIN
  875. 16225 *CA6 : GOSUB *CALCEXE:CALCD=3         :'---------------------[ + ]
  876. 16230        CALM$="+":GOSUB *電卓記号表示 :GOTO *CALCMAIN
  877. 16235 *CA7 : GOSUB *CALCEXE:CALCD=4         :'---------------------[ - ]
  878. 16240        CALM$="-":GOSUB *電卓記号表示 :GOTO *CALCMAIN
  879. 16245 *CA8 : GOSUB *電卓枠消去              :'---------------------[ESC]
  880. 16250        RETURN
  881. 16255 *CA9 : CALN#=0:CALD$="0":CALI$="0":CALP=0:CALTAXF=0:'--------[BS ]:'v1.2
  882. 16260        CALDF=1:GOSUB *電卓数値表示
  883. 16265        CALM$="△":GOSUB *電卓記号表示
  884. 16270        G=4:B=SWNO:BST(G,B)=0:BSNDOFF=1:GOSUB *BTN_ONOFF
  885. 16275        GOTO *CALCMAIN
  886. 16280 *CA10: CALCD=0:CALP=0:CALE=0:CALTAXF=0:'---------------------[CAN]:'v1.2
  887. 16285        CALN#=0:CALR#=0:CALD$="0":CALI$="0"
  888. 16290        CALDF=1:GOSUB *電卓数値表示
  889. 16295        CALM$="▽":GOSUB *電卓記号表示
  890. 16300        G=4:B=SWNO:BST(G,B)=0:BSNDOFF=1:GOSUB *BTN_ONOFF
  891. 16305        GOTO *CALCMAIN
  892. 16310 *CA11: IF CALCD=1 THEN 16320 ELSE G=4:B=SWNO:BST(G,B)=0:BSNDOFF=1:'v1.2
  893. 16315        GOSUB *BTN_ONOFF:GOTO *CALCMAIN
  894. 16320        CALI$=RIGHT$(SPACE$(10)+TAXR$,10):CALTAXF=1
  895. 16325        CALM$="税":GOSUB *電卓記号表示: CALP=1:GOTO 16350
  896. 16330 *千入力
  897. 16335   CALI$=RIGHT$(SPACE$(10)+CALI$+"000",10):GOTO 16350
  898. 16340 *数値入力
  899. 16345   CALI$=RIGHT$(SPACE$(10)+CALI$+RIGHT$(STR$(SWNO-1),1),10)
  900. 16350   IF CALP=1 THEN 16365
  901. 16355   CALN#=VAL(RIGHT$(CALI$,10))
  902. 16360   IF ABS(CALN#)>=0 THEN CALI$=RIGHT$(SPACE$(10)+STR$(CALN#),10)
  903. 16365   CALDF=1:GOSUB *電卓数値表示
  904. 16370   IF CALCD=5 THEN CALR#=0:CALCD=0
  905. 16375   G=4:B=SWNO:BST(G,B)=0:BSNDOFF=1:GOSUB *BTN_ONOFF
  906. 16380   GOTO *CALCMAIN
  907. 16385 *CALCEXE
  908. 16390   IF CALP=1 THEN CALN#=VAL(CALI$)
  909. 16395   ON CALCD+1 GOSUB *CAL0,*CAL1,*CAL2,*CAL3,*CAL4,*CAL0
  910. 16400   IF CALE=1 THEN 16440
  911. 16405   IF CALCD>0 AND CALCD<5 THEN 16420
  912. 16410   IF CALCD=0 THEN CALR#=CALN#
  913. 16415      CALN#=0:GOTO 16435
  914. 16420   CALK#=CALR#:GOSUB *電卓数値チェック
  915. 16425   IF CALE=1 THEN 16440 ELSE CALR#=CALK#
  916. 16430   CALDF=2:GOSUB *電卓数値表示
  917. 16435   CALI$="0":CALP=0
  918. 16440   G=4:B=SWNO:BST(G,B)=0:BSNDOFF=1:GOSUB *BTN_ONOFF
  919. 16445   RETURN
  920. 16450  *CAL0:                  RETURN
  921. 16455  *CAL1:CALR#=CALR#*CALN#:RETURN
  922. 16460  *CAL2:IF CALN#=0 THEN GOSUB *CALERR2:RETURN
  923. 16465        CALR#=CALR#/CALN#:RETURN
  924. 16470  *CAL3:CALR#=CALR#+CALN#:RETURN
  925. 16475  *CAL4:CALR#=CALR#-CALN#:RETURN
  926. 16480 *CALCIN
  927. 16485   G=4:SWPASS=1:MCKEY=1:GOSUB *MCSELECT'ボタン選択:'sw1tをmckeyに変更
  928. 16490   IF SWNO<>0 THEN GOTO 16515
  929. 16495   A$=INKEY$:IF A$="" THEN *CALCIN
  930. 16500   A=INSTR(CALCC$,A$)
  931. 16505   IF A=0 THEN *CALCIN
  932. 16510   IF A>10 THEN SWNO=A+1 ELSE SWNO=A
  933. 16515   PLAY "@21v2o5l64a@30":RETURN
  934. 16520 *電卓枠表示
  935. 16522   MOUSE 1,,,0
  936. 16525   GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  937. 16526   LOAD@ TIFDRV$+"\hk2calc.TIF",(W_X1(G),W_Y1(G))
  938. 16535   MOUSE 1,,,1
  939. 16540   CALMES$=CFI$(IPNO)+":金額記入":SYMBOL(W_X1(G)+10,W_Y1(G)+20),CALMES$,.75!,.75!,1
  940. 16545   CALM$="▽":GOSUB *電卓記号表示
  941. 16550   RETURN
  942. 16555 *電卓数値表示
  943. 16560   LINE(W_X1(G)+10,W_Y1(G)+36)-(W_X1(G)+132,W_Y1(G)+50),PSET,0,BF
  944. 16565   IF CALDF=0 THEN CALD$=CALD$
  945. 16570   IF CALDF=1 THEN CALD$=CALI$
  946. 16575   IF CALDF=2 THEN CALD$=RIGHT$(SPACE$(11)+STR$(CALR#),11)
  947. 16580   CALD$=RIGHT$(SPACE$(12)+CALD$,12)
  948. 16585   SYMBOL(W_X1(G)+10,W_Y1(G)+36),CALD$,1.2!,.75!,4
  949. 16590   RETURN
  950. 16595 *電卓枠消去
  951. 16600   PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  952. 16610   RETURN
  953. 16615 *電卓記号表示
  954. 16620   LINE(W_X1(G)+109,W_Y1(G)+20)-(W_X1(G)+128,W_Y1(G)+35),PSET,0,BF
  955. 16625   SYMBOL(W_X1(G)+109,W_Y1(G)+20),CALM$,.75!,.75!,5
  956. 16630   RETURN
  957. 16635 *電卓数値チェック:CALE=0
  958. 16640  IF ABS(CALK#)>9999999999# THEN GOTO *CALERR1
  959. 16645  IF LEN(STR$(CALK#))<=10 THEN 16690
  960. 16650  CALKA#=INT(CALK#):CALKB#=CALK#-INT(CALK#)
  961. 16655  IF CALKB#=0 THEN 16690
  962. 16660  CALKB#=CALKB#*10000:CALKB#=CINT(CALKB#)/10000
  963. 16665  IF CALTAXF=0 THEN 16680 ELSE CALTAXF=0            :'v1.2
  964. 16670  IF CALKB#<=.4999! THEN CALKB#=0:GOTO 16680        :'v1.2
  965. 16675                         CALKB#=0:CALKA#=CALKA#+1   :'v1.2
  966. 16680  CALK#=CALKA#+CALKB#:CALK$=STR$(CALK#)
  967. 16685  IF LEN(CALK$)>11 THEN CALK#=VAL(LEFT$(CALK$,11))
  968. 16690  RETURN
  969. 16695 *CALERR1:CALED$="ERROR     Over Flow":GOTO *CALED
  970. 16700 *CALERR2:CALED$="ERROR Devision by 0":GOTO *CALED
  971. 16705 *CALED :PLAY "V8O7L16DDD" :CALE=1
  972. 16710  LINE(W_X1(G)+10,W_Y1(G)+36)-(W_X1(G)+132,W_Y1(G)+50),PSET,0,BF
  973. 16715  SYMBOL(W_X1(G)+10,W_Y1(G)+36),CALED$,.75!,.75!,2
  974. 16720  CALM$="..":GOSUB *電卓記号表示
  975. 16725  RETURN
  976. 16730 '
  977. 18000 '------------------------------------------------------------------
  978. 18005 *HKHELP:'             Copyrigit(C) T.Komura / HK2               /
  979. 18010 '   Version 1.0  1994.07.30                 / helpプログラム    /
  980. 18011 '   Version 2.0  1995.07.30 HK2ドラッグ対応
  981. 18015 'メインルーチン:'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  982. 18016 G=7:SWNOX=SWNO:DOCDC=6:DOCBC=8
  983. 18020 GOSUB *DOCTIFDSP:GOSUB *DOCFREAD
  984. 18026 MCN=1:GOSUB *MCDSET
  985. 18030 GOSUB *DOC初期表示
  986. 18035 *DC_MSINSEL
  987. 18040 SWPASS=1:G=7:GOSUB *MCSELECT:'マウスボタン選択
  988. 18042 IF SWNO=0 THEN GOSUB *DC_他エリア判定
  989. 18043 IF SWNO<0 THEN SWNO=5
  990. 18045 IF SWNO>7 OR SWNO=0 THEN *DC_MSINSEL
  991. 18050 IF SWNO=5 THEN GOTO *SDC_05
  992. 18055 IF SWNO=6 THEN GOTO *SDC_06
  993. 18060 IF SWNO=7 THEN GOTO *SDC_07
  994. 18065                GOTO *DOCCTRL
  995. 18070 *DOCCTRL
  996. 18075  G=7:B=SWNO:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
  997. 18080   DCCD=SWNO:GOSUB *DOC表示制御
  998. 18085  G=7:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  999. 18090  GOTO *DC_MSINSEL
  1000. 18095 *SDC_06:       GOSUB *MCDRAG     :GOTO *DC_MSINSEL
  1001. 18100 *SDC_07:DCCD=5:GOSUB *DOC表示制御:GOTO *DC_MSINSEL
  1002. 18105 *SDC_05:'終了
  1003. 18110  G=7:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1004. 18115  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1005. 18120  DOCCS=0:SWNO=SWNOX
  1006. 18122  RETURN:'///////////////////////////////////////////////////
  1007. 18125 '
  1008. 18130 'sub routine---------------------------------------------
  1009. 18135 *DOCTIFDSP
  1010. 18137  MOUSE 1,,,0
  1011. 18140  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1012. 18145  LOAD@ TIFDRV$+"\hk2help.tif",(W_X1(G),W_Y1(G))
  1013. 18165  MOUSE 1,,,1:GOSUB *DOC名称表示
  1014. 18170  RETURN
  1015. 18175 *DOCFREAD:'helpファイル読み込み
  1016. 18177  MCN=2:GOSUB *MCDSET
  1017. 18180  DOCN=0:OPEN "I",#1,PRGDRV$+"\HELPF"+DOCF$
  1018. 18185  IF EOF(1)=-1 THEN 18200
  1019. 18190  DOCN=DOCN+1:LINE INPUT #1,DOC$(DOCN)
  1020. 18195  GOTO 18185
  1021. 18200  CLOSE #1:RETURN
  1022. 18205 *DOC指定行表示
  1023. 18210  GOSUB *DOCカーソル表示
  1024. 18220  FOR DN=SDN TO EDN
  1025. 18225    XDC=W_X1(G)+8:YDC=W_Y1(G)+27+DCL*12
  1026. 18230    SYMBOL(XDC,YDC),DOC$(DN),.75!,.75!,7
  1027. 18235    DCL=DCL+1
  1028. 18240  NEXT DN:RETURN
  1029. 18245 *DOC初期表示
  1030. 18250  SDN=1:EDN=24:DCL=0:DSP=1:GOSUB *DOC指定行表示
  1031. 18255  RETURN
  1032. 18260 *DOC表示制御:'///////////////////////////////////////
  1033. 18265  ON DCCD GOTO *DCC3,*DCC1,*DCC2,*DCC4,*DCC5
  1034. 18270 *DCC1:'------ 前行
  1035. 18275  DSP=DSP-1 :IF DSP<1 THEN DSP=1          :RETURN
  1036. 18280  SDN=DSP   :GOSUB *DOC下シフト
  1037. 18285  EDN=SDN   :DCL=0 :GOSUB *DOC指定行表示  :RETURN
  1038. 18290 *DCC2:'------ 次行
  1039. 18295  DSP=DSP+1 :IF DSP+23>DOCN THEN DSP=DSP-1:RETURN
  1040. 18300  SDN=DSP+23: GOSUB *DOC上シフト
  1041. 18305  EDN=SDN   :DCL=23:GOSUB *DOC指定行表示  :RETURN
  1042. 18310 *DCC3:'------ 前頁
  1043. 18315  DSP=DSP-24:IF DSP<1 THEN DSP=1
  1044. 18320  GOTO *DCC51
  1045. 18325 *DCC4:'------ 次頁
  1046. 18330  DSP=DSP+24:IF DSP>DOCN THEN DSP=(DOCN\24)*24+1
  1047. 18335  GOTO *DCC51
  1048. 18340 *DCC5:'------ カーソル指定
  1049. 18345  DSP=((INT(DOCN*DOCR))\24)*24+1
  1050. 18350  IF DSP>DOCN THEN DSP=(DOCN\24)*24+1
  1051. 18355 *DCC51
  1052. 18360  SDN=DSP   :EDN=SDN+23
  1053. 18365  IF EDN>DOCN THEN EDN=EDN-1:GOTO 18365
  1054. 18370  LINE (W_X1(G)+6,W_Y1(G)+27)-(W_X1(G)+492,W_Y1(G)+27+12*24),PSET,%DOCBC,BF
  1055. 18375  DCL=0:GOSUB *DOC指定行表示              :RETURN
  1056. 18380 '------------------------------------------------------
  1057. 18385 *DOC上シフト
  1058. 18386  X1=W_X1(G)+6:Y1=W_Y1(G)+27 :X2=W_X1(G)+492:Y2=Y1
  1059. 18390  GET@A(X1,Y1+12*1 )-(X2,Y2+12*24),HLPC#
  1060. 18395  LINE (X1,Y1+12*23)-(X2,Y2+12*24),PSET,%DOCBC,BF
  1061. 18400  PUT@A(X1,Y1      )-(X2,Y2+12*23),HLPC#
  1062. 18405  RETURN
  1063. 18410 *DOC下シフト
  1064. 18411  X1=W_X1(G)+6:Y1=W_Y1(G)+27 :X2=W_X1(G)+492:Y2=Y1
  1065. 18415  GET@A(X1,Y1     )-(X2,Y2+12*23),HLPC#
  1066. 18420  LINE (X1,Y1     )-(X2,Y2+12*1 ),PSET,%DOCBC,BF
  1067. 18425  PUT@A(X1,Y1+12*1)-(X2,Y2+12*24),HLPC#
  1068. 18430  RETURN
  1069. 18435 *DOCカーソル表示
  1070. 18440  XDC1 =W_X1(G)+500:XDC2=W_X1(G)+511
  1071. 18445  YDC1 =W_Y1(G)+53+INT(233*((DSP-1)  /DOCN))
  1072. 18450  YDC2 =W_Y1(G)+53+INT(233*((DSP+23) /DOCN))
  1073. 18451  A=W_Y1(G)+B_Y1(G,3):IF YDC2>=A  THEN YDC2=A-1
  1074. 18455  YDC1X=W_Y1(G)+53+INT(233*((DSPX-1) /DOCN))
  1075. 18460  YDC2X=W_Y1(G)+53+INT(233*((DSPX+23)/DOCN))
  1076. 18461  A=W_Y1(G)+B_Y1(G,3):IF YDC2X>=A THEN YDC2X=A-1
  1077. 18465  IF DOCCS=1 THEN 18470 ELSE DOCCS=1:GOTO 18475
  1078. 18470  LINE(XDC1,YDC1X)-(XDC2,YDC2X),XOR,5,BF
  1079. 18475  LINE(XDC1,YDC1 )-(XDC2,YDC2 ),XOR,5,BF
  1080. 18480  DSPX=DSP :RETURN
  1081. 18485 *DOC名称表示
  1082. 18490  XDC=W_X1(G)+427:YDC=W_Y1(G)+7
  1083. 18495  DOCD$=RIGHT$(DOCF$,LEN(DOCF$)-1)
  1084. 18500  SYMBOL(XDC,YDC),DOCD$,.75!,.75!,%DOCDC
  1085. 18505  RETURN
  1086. 18810 *DC_他エリア判定
  1087. 18830  IF (X_M>(W_X1(G)+499) AND X_M<(W_X1(G)+512)) ELSE 18845
  1088. 18835  IF (Y_M>(W_Y1(G)+ 53) AND Y_M<(W_Y1(G)+288)) ELSE 18845
  1089. 18840  DOCR=(Y_M-(W_Y1(G)+53))/235:SWNO=7
  1090. 18845  RETURN
  1091. 18850 '
  1092. 19000 '
  1093. 19010 '//////////////////////////////////////////////////////////////
  1094. 19020 *ERROR:'      エラー処理サブルーチン V1.10   1990.11.08 T.Komura
  1095. 19030 '             
  1096. 19040 '
  1097. 19050 IF ERR=53 THEN *IOERR
  1098. 19060 IF ERR=63 THEN *FILNOF
  1099. 19070 IF ERR=67 THEN *DSKFUL
  1100. 19080 IF ERR=71 THEN *DSKUNF 
  1101. 19090 IF ERR=72 THEN *DSKOFF
  1102. 19100 IF ERR=73 THEN *DSKWP
  1103. 19110 ERMES$="エラー行:"+STR$(ERL)+" エラー番号:"+STR$(ERR)+" 発生"
  1104. 19120 GOSUB *ERMSG
  1105. 19130 STOP
  1106. 19140 '////////// エラー処理
  1107. 19150 *IOERR
  1108. 19160 ERMES$="プリンターが準備されていません。 プリンターをセット後、"
  1109. 19170 GOSUB *ERMSG:RESUME
  1110. 19180 *DSKFUL
  1111. 19190 ERMES$="ディスクが満杯です。 交換後、"
  1112. 19200 GOSUB *ERMSG:RESUME
  1113. 19210 *DSKUNF
  1114. 19220 ERMES$="このディスクは使用出来ません。処理を中断します。 "
  1115. 19230 GOSUB *ERMSG:RESUME
  1116. 19240 *DSKOFF
  1117. 19250 ERMES$="ディスク装置が準備されていません。ディスクをセット後、"
  1118. 19260 GOSUB *ERMSG:RESUME
  1119. 19270 *DSKWP
  1120. 19280 ERMES$="ディスクが書き込み禁止になっています。解除後、"
  1121. 19290 GOSUB *ERMSG:RESUME
  1122. 19300 *FILNOF
  1123. 19310 ERMES$="ファイルが見つかりません。ディスクを交換後、"
  1124. 19320 GOSUB *ERMSG:RESUME
  1125. 19330 '
  1126. 19340 *ERMSG:'////////// エラーメッセージ
  1127. 19355 LINE(0,465)-(639,479),PSET,0,BF
  1128. 19360 SYMBOL(0,465),ERMES$+"[実行]キーを押してね!",.75!,.75!,2
  1129. 19370 COLOR 7,0:MESN=19:GOSUB *SNDMSG
  1130. 19380 ERRA$=INKEY$:IF ERRA$="" THEN 19380
  1131. 19390 IF ERRA$<>CHR$(&H0D) THEN 19380
  1132. 19400 LINE(0,465)-(639,479),PSET,0,BF
  1133. 19410 SYMBOL(0,465),"エラー処理を終わります。",.75!,.75!,6
  1134. 19420 RETURN
  1135. 19430 '
  1136. 19440 '
  1137. 19450 '
  1138. 20000 '------------------------------------------------------------------
  1139. 20010 ' CUSTOM SUB ROUTINE FOR "DOQSO.BAS"
  1140. 20020 '------------------------------------------------------------------
  1141. 20100 *表紙表示
  1142. 20101  SCREEN 1,0,2
  1143. 20102  DEF FONT "システム   12ドット" 
  1144. 20105  LOAD@ TIFDRV$+"\HK2INx.TIF",(0,0)
  1145. 20106  MESN=1:GOSUB *MESDSP
  1146. 20107  G=1:B=16:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
  1147. 20110  FOR II=1 TO 15
  1148. 20115    X=68:Y=144+16*(II-1):IF II>3 THEN Y=Y+24
  1149. 20116    SYMBOL(X,Y),CFI$(II),.75!,.75!,%1,,,,4
  1150. 20125  NEXT II
  1151. 20145  'INTERVAL ON
  1152. 20160  RETURN
  1153. 20190 '
  1154. 20200 *検索ジャンプチェック
  1155. 20205  GOSUB *DTCHK
  1156. 20210  IF SRCJ=0 THEN RETURN
  1157. 20215  GOSUB *DTLOAD
  1158. 20220  YR$=LEFT$(DT$,4) :YR=VAL(YR$)
  1159. 20222  MN$=MID$(DT$,6,2):MN=VAL(MN$)
  1160. 20224  DY$=RIGHT$(DT$,2):DY=VAL(DY$)
  1161. 20230  SRCJ=1:RETURN
  1162. 20290 '
  1163. 20300 *日付表示
  1164. 20310  YR$=RIGHT$(STR$(YR),4)
  1165. 20315  NBN=4:NBA$=YR$:GOSUB *数字漢字変換:KYR$=NBK$
  1166. 20320  MN$=RIGHT$(STR$(100+MN),2)
  1167. 20325  NBN=2:NBA$=MN$:GOSUB *数字漢字変換:KMN$=NBK$
  1168. 20330  DY$=RIGHT$(STR$(100+DY),2)
  1169. 20335  NBN=2:NBA$=DY$:GOSUB *数字漢字変換:KDY$=NBK$
  1170. 20340  GOSUB *週検索:IF CW=7 THEN CW=6
  1171. 20350  DEF FONT "システム 16ドット"
  1172. 20352  LINE( 61,29)-(122,48),PSET,%8,BF:SYMBOL(61,31),KYR$,1,1,7,,,1
  1173. 20354  LINE(143,29)-(174,48),PSET,%8,BF:SYMBOL(143,31),KMN$,1,1,7,,,1
  1174. 20356  LINE(195,29)-(254,48),PSET,%8,BF:SYMBOL(195,31),KDY$,1,1,7,,,1
  1175. 20358                                   SYMBOL(228,32),WKM$,1,1,CW
  1176. 20360  DEF FONT "システム   12ドット"
  1177. 20370  IYM$=YR$+MN$
  1178. 20372  IF YMX<>YR+MN THEN GOSUB *カレンダー表示
  1179. 20374  GOSUB *日カーソル表示
  1180. 20376  GOSUB *行事表示
  1181. 20378  YMX=YR+MN
  1182. 20380  RETURN
  1183. 20390 '
  1184. 20400 *指定日データ表示 :'V2.0L10i
  1185. 20410  GOSUB *HKISRC
  1186. 20420  IF FIDX=1 THEN 20450
  1187. 20430  REDSPF=0:GOSUB *新規ファイル作成
  1188. 20440  GOTO 20410
  1189. 20450  GOSUB *データ表示
  1190. 20480  RETURN
  1191. 20490  '
  1192. 20495  '
  1193. 20500 *データ表示
  1194. 20505  MCN=2:GOSUB *MCDSET
  1195. 20510  RDY=DY:GOSUB *HKDGET
  1196. 20515  GOSUB *HKTFGET
  1197. 20520  LINE(128,86)-(516,117),PSET,%8,BF
  1198. 20522  SYMBOL(128,86   ), LEFT$(DEV$,64),.75!,.75!,7
  1199. 20523  SYMBOL(128,86+16),RIGHT$(DEV$,64),.75!,.75!,7
  1200. 20525 *データ表示2
  1201. 20530   FOR II=1 TO 15
  1202. 20531     YY=142+16*(II-1):IF II>3 THEN YY=YY+24
  1203. 20532     LINE(130,YY)-(197,YY+14),PSET,%6,BF
  1204. 20533     LINE(202,YY)-(517,YY+14),PSET,%6,BF
  1205. 20534     SYMBOL(130,YY+2),DYN$(II),.75!,.75!,0
  1206. 20535     SYMBOL(202,YY+2),DRM$(II),.75!,.75!,0
  1207. 20536   NEXT II
  1208. 20540   IF MID$(IMAK$,DY,1)<>" " THEN 20550
  1209. 20545   LINE(513,29)-(519,30),PSET,0,BF:GOTO *合計表示
  1210. 20550   LINE(513,29)-(519,30),PSET,4,BF:GOTO *合計表示
  1211. 20555  *合計表示
  1212. 20560   LINE(452,127)-(518,138),PSET,%6,BF:SYMBOL(464,127),DIYN$,.75!,.75!,%9
  1213. 20561   LINE(452,199)-(518,210),PSET,%6,BF:SYMBOL(464,199),DOYN$,.75!,.75!,%10
  1214. 20562   LINE(452,415)-(518,426),PSET,%6,BF:SYMBOL(464,415),DION$,.75!,.75!,%0
  1215. 20563   LINE(452,434)-(518,445),PSET,%8,BF:SYMBOL(452,434),TTR$,.75!,.75!,%15
  1216. 20580  RETURN
  1217. 20590 '
  1218. 20700 *新規ファイル作成
  1219. 20710  ' FOR II=5 TO 22:LOCATE 12,II:PRINT SPACE$(66):NEXT II ' v2.0 cut
  1220. 20720  IF (YR*12+MN)=(YRM*12+MNM+1) THEN 20750:'----次月チェック
  1221. 20730  MESN=7:GOSUB *MESDSP:MESN=25:GOSUB *SNDMSG
  1222. 20740  WAIT SWAIT\1+1:GOSUB *新規ファイル作成案内
  1223. 20745  IF REDSPF=1 THEN RETURN
  1224. 20750  MESN=3:GOSUB *MESDSP:'-----------------------確認
  1225. 20760  CMES$="["+YR$+"年"+MN$+"月]ファイル新規作成"
  1226. 20770  GOSUB *確認
  1227. 20780  ON CAUNO GOTO 20800,20790
  1228. 20790  YDEF=0:MDEF=-1:DDEF=0:GOSUB *年月日変更:GOSUB *日付表示
  1229. 20795  REDSPF=1:RETURN
  1230. 20800  MESN=5:GOSUB *MESDSP:MESN=24:GOSUB *SNDMSG
  1231. 20810  IYM$=YR$+MN$:IMAK$=SPACE$(32):'--------------IDX追加
  1232. 20820  RI=IR+1:GOSUB *HKIPUT
  1233. 20830  DEV$=SPACE$(128)             :'------------ファイル作成
  1234. 20835  FOR JJ=1 TO 16:DYN$(JJ)=SPACE$(10):DRM$(JJ)=SPACE$(52):NEXT JJ
  1235. 20836  PCCD=1:PCMES$=CMES$:GOSUB *PROCD
  1236. 20840  FOR RDY=1 TO 31
  1237. 20842    LINE(70*8,465)-(639,479),PSET,0,BF
  1238. 20845    SYMBOL(70*8,465),RIGHT$(STR$(RDY),2)+" / 31",.75!,.75!,4
  1239. 20850    GOSUB *HKDPUT
  1240. 20855    PCCD=3:PCCUR=RDY:PCMAX=31:PCINT=1:GOSUB *PROCD
  1241. 20860  NEXT RDY:MESN=14:GOSUB *SNDMSG
  1242. 20865  PCCD=2:GOSUB *PROCD
  1243. 20870  RETURN
  1244. 20880 '
  1245. 20900 *新規ファイル作成案内
  1246. 20910  MESN=22:GOSUB *MESDSP:MESN=24:GOSUB *SNDMSG
  1247. 20920  MYM=YR*12+MN
  1248. 20930  IF REDSPF=1 THEN 20950
  1249. 20935  IF MYM=(YRM*12+MNM+1) THEN 20990
  1250. 20940  IF MYM>(YRM*12+MNM+1) THEN MDEF=-1:YDEF=0         :GOTO 20960
  1251. 20950  IF MYM<(SSYR*12+SSMN) THEN MDEF=+1:YDEF=0:REDSPF=1:GOTO 20960
  1252. 20955  RETURN
  1253. 20960  DDEF=0:GOSUB *年月日変更:PLAY "o6v8E8"
  1254. 20970  DY=1:GOSUB *日付表示
  1255. 20980  GOTO 20920
  1256. 20990  RETURN
  1257. 20995 '
  1258. 21000 *出来事入力
  1259. 21010  MESN=10:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
  1260. 21020  LX=128:LY=86:LC=6:LB=7:CBC=8:LL=64:LG=2:LP=16:LINS=1
  1261. 21040  L$(1)=LEFT$(DEV$,64):L$(2)=RIGHT$(DEV$,64):GOSUB *LKEYIN
  1262. 21050  DEV$=L$(1)+L$(2)
  1263. 21060  SYMBOL(LX,LY   ), LEFT$(DEV$,64),.75!,.75!,7
  1264. 21065  SYMBOL(LX,LY+LP),RIGHT$(DEV$,64),.75!,.75!,7
  1265. 21070  RETURN
  1266. 21080 '
  1267. 21100 *金額入力
  1268. 21110  LX=130:LY=144+16*(IPNO-1):CBC=6:IF IPNO>3 THEN LY=LY+24
  1269. 21120  IF CALCF=0 THEN 21135 
  1270. 21122                 LINE(124,LY-2)-(198,LY+12),XOR,%6,BF
  1271. 21124  GOSUB *HKCALC :LINE(124,LY-2)-(198,LY+12),XOR,%6,BF
  1272. 21126  IF ENDF=1 THEN 21135
  1273. 21130  DYN$=STR$(CALRX#)               :GOTO 21152
  1274. 21135  LC=1:LB=7:CBC=6:LL=10:LG=1:LP=1:LINS=0
  1275. 21140  L$(1)=DYN$(IPNO):GOSUB *LKEYIN
  1276. 21150  DYN$=L$(1)
  1277. 21152  IF VAL(DYN$)=0 THEN DYN$=SPACE$(10):GOTO 21162  :'v2.0L10h
  1278. 21155  DYN$(IPNO)=RIGHT$(SPACE$(10)+STR$(VAL(DYN$)),10)
  1279. 21162  LINE(LX,LY)-(LX+6*10,LY+11),PSET,%CBC,BF
  1280. 21165  SYMBOL(LX,LY),DYN$(IPNO),.75!,.75!,0
  1281. 21168  GOSUB *HKDCAL:GOSUB *累計額計算
  1282. 21170  GOSUB *合計表示
  1283. 21172  RETURN
  1284. 21174 '
  1285. 21175 *内容入力
  1286. 21180  LX=202:LY=144+16*(IPNO-1):CBC=6:IF IPNO>3 THEN LY=LY+24
  1287. 21185  IF DICIF=0 THEN 21220
  1288. 21190                  LINE(200,LY-2)-(518,LY+12),XOR,%6,BF
  1289. 21192  GOSUB *辞書入力:LINE(200,LY-2)-(518,LY+12),XOR,%6,BF
  1290. 21195  IF ENDF=1 THEN 21220
  1291. 21200  IF ENDF=0 THEN 21320
  1292. 21220  LX=202:LY=144+16*(IPNO-1):IF IPNO>3 THEN LY=LY+24
  1293. 21222  MESN=12:GOSUB *MESDSP
  1294. 21225  LC=1:LB=7:CBC=6:LL=52:LG=1:LP=1:LINS=1
  1295. 21240  L$(1)=DRM$(IPNO):GOSUB *LKEYIN
  1296. 21250  DRM$(IPNO)=LMG$
  1297. 21260  SYMBOL(LX,LY),DRM$(IPNO),.75!,.75!,0
  1298. 21320  RETURN
  1299. 21330 '
  1300. 22000 '//////////////////////////////////////////////////////
  1301. 22005 '定額支出編集     v1.4
  1302. 22010 '                 v1.5 1995.05 ドラッグ対応
  1303. 22015 *定額支出編集
  1304. 22020  G=5:SWNOCO=SWNO:COMODE=1
  1305. 22025  GOSUB *定額編集枠表示
  1306. 22030  GOSUB *HKCFGET
  1307. 22035  GOSUB *定額支出表示
  1308. 22040 *COSEL
  1309. 22045  IF MESOF=1 THEN MESOF=0:GOTO 22055
  1310. 22050  MESN=24:GOSUB *MESDSP:MESN=18:GOSUB *SNDMSG
  1311. 22055  G=5:GOSUB *MCSELECT'ボタン選択:'       swpass=1 cut
  1312. 22056  IF SWNO<0 THEN SWNO=42
  1313. 22057  IF SWNO=43 THEN GOSUB *MCDRAG:GOTO 22055
  1314. 22060  IF SWNO=0 THEN 22055
  1315. 22065  G=5:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1316. 22070  IF SWNO=<10 THEN NCO=SWNO   :GOSUB *定額項目入力    :GOTO *COGSEL 
  1317. 22075  IF SWNO=<20 THEN NCO=SWNO-10:GOSUB *定額項目上切換え:GOTO *COGSEL 
  1318. 22080  IF SWNO=<30 THEN NCO=SWNO-20:GOSUB *定額項目下切換え:GOTO *COGSEL 
  1319. 22085  IF SWNO=<40 THEN NCO=SWNO-30:GOSUB *定額項目転記    :GOTO *COGSEL 
  1320. 22090  IF SWNO=41  THEN             GOSUB *全項目転記      :GOTO *COGSEL
  1321. 22095  IF SWNO=42  THEN             GOTO  *定額編集終了
  1322. 22100 *COGSEL
  1323. 22105  G=5:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1324. 22110  GOTO *COSEL
  1325. 22115 *全項目転記 '
  1326. 22120  FOR NCO=1 TO 10
  1327. 22125    GOSUB *定額項目転記 
  1328. 22130  NEXT NCO
  1329. 22135  RETURN
  1330. 22140 *定額編集終了
  1331. 22145  GOSUB *HKCFPUT
  1332. 22150  GOSUB *定額編集枠消去
  1333. 22155  GOSUB *データ表示
  1334. 22160  SWNO=SWNOCO:COMODE=0
  1335. 22165  RETURN
  1336. 22170 '
  1337. 22175 *定額項目入力 '
  1338. 22180  MESN=25:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
  1339. 22181  LY=W_Y1(G)+40+(NCO-1)*16
  1340. 22190 '項目
  1341. 22192  LX=W_X1(G)+30:LC=1:CBC=5:LL=16:LG=1:LP=1:LINS=1:DSPC=0:CN=1
  1342. 22194  GOSUB *CNSTIN
  1343. 22200 '金額
  1344. 22202  LX=W_X1(G)+132:LC=7:CBC=8:LL=10:LG=1:LP=1:LINS=0:DSPC=6:CN=2
  1345. 22204  GOSUB *CNSTIN
  1346. 22210 '日付
  1347. 22212  LX=W_X1(G)+200:LC=5:CBC=1:LL=2:LP=1:LG=1:LINS=0:DSPC=4:CN=3
  1348. 22214  GOSUB *CNSTIN:CODY=VAL(COX$(NCO,3))
  1349. 22220  IF CODY>31 OR CODY<1 THEN 22210
  1350. 22230  RETURN
  1351. 22240 *CNSTIN
  1352. 22250  L$(1)=COX$(NCO,CN):GOSUB *LKEYIN:COX$(NCO,CN)=L$(1)
  1353. 22255  LINE(LX,LY)-(LX+6*LL,LY+12),PSET,%CBC,BF
  1354. 22260  SYMBOL(LX,LY),COX$(NCO,CN),.75!,.75!,DSPC
  1355. 22265  RETURN
  1356. 22269 '
  1357. 22270 *定額項目上切換え
  1358. 22275  COI(NCO)=COI(NCO)-1:IF COI(NCO)<0 THEN COI(NCO)=15
  1359. 22280  GOTO *COIDISP
  1360. 22285 *定額項目下切換え
  1361. 22290  COI(NCO)=COI(NCO)+1:IF COI(NCO)>15 THEN COI(NCO)=0
  1362. 22295  GOTO *COIDISP
  1363. 22300 *COIDISP
  1364. 22305  GOSUB *CNVCOCN:GOSUB *CNVCONC:Y=W_Y1(G)+40+(NCO-1)*16
  1365. 22310    LINE(W_X1(G)+222,Y)-(W_X1(G)+222+6*8,Y+12),PSET,%0,BF
  1366. 22315  SYMBOL(W_X1(G)+222,Y),COI$(NCO),.75!,.75!,7
  1367. 22320  MESOF=1:RETURN
  1368. 22325 '
  1369. 22330 *定額編集枠表示
  1370. 22332  MOUSE 1,,,0
  1371. 22333  LINE(552,356)-(558,357),PSET,6,BF
  1372. 22335  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1373. 22345  LOAD@ TIFDRV$+"\HK2INcst.TIF",(W_X1(G),W_Y1(G))
  1374. 22346  MOUSE 1,,,1
  1375. 22350  RETURN
  1376. 22355 *定額編集枠消去
  1377. 22360  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1378. 22365  LINE(552,356)-(558,357),PSET,0,BF
  1379. 22370  RETURN
  1380. 22375 '
  1381. 22380 *定額支出表示
  1382. 22385  FOR NCO=1 TO 10:Y=W_Y1(G)+40+(NCO-1)*16
  1383. 22390      LINE(W_X1(G)+ 30,Y)-(W_X1(G)+28+6*16,Y+12),PSET,%5,BF
  1384. 22391    SYMBOL(W_X1(G)+ 30,Y),COX$(NCO,1),.75!,.75!,0
  1385. 22395      LINE(W_X1(G)+132,Y)-(W_X1(G)+132+6*10,Y+12),PSET,%8,BF
  1386. 22396    SYMBOL(W_X1(G)+132,Y),COX$(NCO,2),.75!,.75!,6
  1387. 22400      LINE(W_X1(G)+200,Y)-(W_X1(G)+200+6*2,Y+12),PSET,%1,BF
  1388. 22401    SYMBOL(W_X1(G)+200,Y),COX$(NCO,3),.75!,.75!,4
  1389. 22405    GOSUB *CNVCONC
  1390. 22410      LINE(W_X1(G)+222,Y)-(W_X1(G)+222+6*6,Y+12),PSET,%0,BF
  1391. 22411    SYMBOL(W_X1(G)+222,Y),COI$(NCO),.75!,.75!,7
  1392. 22415  NEXT NCO
  1393. 22420  RETURN
  1394. 22425 '
  1395. 22430 *CNVCONC
  1396. 22435  COI(NCO)=VAL(COX$(NCO,4))
  1397. 22440  IF COI(NCO)=0 THEN COI$(NCO)=" ---- "   :RETURN
  1398. 22445                COI$(NCO)=CFI$(COI(NCO))  :RETURN
  1399. 22450 *CNVCOCN
  1400. 22455  COX$(NCO,4)=RIGHT$(STR$(100+COI(NCO)),2):RETURN
  1401. 22460 *CNVCOND
  1402. 22465  CODY=VAL(COX$(NCO,3))                   :RETURN
  1403. 22470 *CNVCODN
  1404. 22475  A$=STR$(100+VAL(COX$(NCO,3)))
  1405. 22480  COX$(NCO,3)=RIGHT$(A$,2)                :RETURN
  1406. 22485 *CNVCOYN
  1407. 22490  A$=SPACE$(10)+STR$(VAL(COX$(NCO,2)))
  1408. 22495  COX$(NCO,2)=RIGHT$(A$,10)               :RETURN
  1409. 22500 '
  1410. 22505 *定額項目転記 
  1411. 22510  DYX=DY:DYX$=DY$:SWNOW=SWNO
  1412. 22512  X1=W_X1(G)+220:Y1=W_Y1(G)+39+16*(NCO-1)
  1413. 22513  X2=W_X1(G)+273:Y2=W_Y1(G)+53+16*(NCO-1)
  1414. 22515  LINE(X1,Y1)-(X2,Y2),XOR,1,BF
  1415. 22520  IF COI(NCO)=0 THEN MESN=28:GOSUB *MESDSP:GOTO 22555
  1416. 22525  CPYP=COI(NCO)
  1417. 22530  MESN=26:GOSUB *MESDSP
  1418. 22535  COW$=COX$(NCO,1):GOSUB *単語抽出
  1419. 22540  RDY=VAL(COX$(NCO,3)):GOSUB *HKDGET
  1420. 22545  IF INSTR(DRM$(CPYP),COW$)=0 THEN 22560
  1421. 22550  MESN=27:GOSUB *MESDSP
  1422. 22555  PLAY "v8o7l16e":WAIT SWAIT\1+1:GOTO 22585
  1423. 22560 '転記
  1424. 22562  PLAY "v8o6l16ec"
  1425. 22565  MID$(DRM$(CPYP),52-LEN(COW$)+1,LEN(COW$))=COW$
  1426. 22570  DYN#(CPYP)=DYN#(CPYP)+VAL(COX$(NCO,2))
  1427. 22575  DYN$(CPYP)=RIGHT$(SPACE$(10)+STR$(DYN#(CPYP)),10)
  1428. 22580  DY=VAL(COX$(NCO,3)):GOSUB *家計簿データ保存
  1429. 22585  LINE(X1,Y1)-(X2,Y2),XOR,1,BF
  1430. 22590  SWNO=SWNOW:DY=DYX:DY$=DYX$
  1431. 22595  RETURN
  1432. 22600 '
  1433. 22605 *単語抽出
  1434. 22610  SPP1=INSTR(COW$," "):SPP2=INSTR(COW$," ")
  1435. 22615  IF (SPP1=0) AND (SPP2=0) THEN SPP=0   :GOTO 22635
  1436. 22620  IF SPP1=0                THEN SPP=SPP2:GOTO 22635
  1437. 22625  IF SPP2=0                THEN SPP=SPP1:GOTO 22635
  1438. 22630  IF SPP1=<SPP2 THEN SPP=SPP1 ELSE SPP=SPP2
  1439. 22635  IF SPP=1 THEN COW$=""    :GOTO 22650
  1440. 22640  IF SPP=0 THEN COW$=COW$  :GOTO 22650
  1441. 22645                COW$=LEFT$(COW$,SPP-1) 
  1442. 22650  RETURN
  1443. 22655 '
  1444. 23000 '//////////////////////////////////////////////////////
  1445. 23010 '                               累計表 v1.3
  1446. 23011 '          ドラッグ対応         累計表 v1.4 1995.05
  1447. 23020 *累計表表示
  1448. 23025  MCN=2:GOSUB *MCDSET
  1449. 23030  G=6:SWNOX=SWNO
  1450. 23050  GOSUB *累計表枠表示
  1451. 23055  GOSUB *月間総計ファイル作成 
  1452. 23056  GOSUB *HKTFGET
  1453. 23060  GOSUB *累計表データ表示
  1454. 23065  MCN=1:GOSUB *MCDSET
  1455. 23070  MESN=21:GOSUB *MESDSP
  1456. 23090  G=6:GOSUB *MCSELECT'ボタン選択:'swpass=1 cut
  1457. 23095  IF SWNO<0 THEN SWNO=1
  1458. 23100  IF SWNO=0 THEN 23090
  1459. 23110  ON SWNO GOTO *SRU1,*SRU2
  1460. 23120  *SRU1:'取消
  1461. 23130   G=6:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1462. 23140   GOSUB *累計表枠消去
  1463. 23150   'GOSUB *データ表示
  1464. 23160   SWNO=SWNOX
  1465. 23170   RETURN
  1466. 23180  *SRU2:'drag
  1467. 23190   GOSUB *MCDRAG 'ドラッグ
  1468. 23200   GOTO 23090
  1469. 23260 '
  1470. 23300 *累計額計算:' HKDCAL の後に実行 24400-24800
  1471. 23310 '総累計:'----------------------------------------
  1472. 23320  TRGD#=VAL(YR$+MN$)*100#+RDY:TRG#=VAL(SSYMD$)
  1473. 23330  IF TRGD#=TRG# THEN CLRQ=0 ELSE CLRQ=1
  1474. 23340  IF TRGD#<TRG# THEN 23590
  1475. 23350  FOR II=1 TO 15:'---各項目
  1476. 23360    DYT#(II)=DYT#(II)*CLRQ+(DYN#(II)-DYNX#(II)*CLRQ)
  1477. 23370    DYT$(II)=RIGHT$(SPACE$(10)+STR$(DYT#(II)),10)
  1478. 23380  NEXT II
  1479. 23400  FOR II=1 TO 15:DYNX#(II)=DYN#(II)  :NEXT II
  1480. 23420  GOSUB *累計表合計計算
  1481. 23430  RETURN
  1482. 23440 '
  1483. 23490 '------------------------------------------------
  1484. 23500 *累計諸演算
  1485. 23505  AVRN=IR-RSS+1
  1486. 23510  FOR II=1 TO 15
  1487. 23520     IF AVRN=0 THEN DYA#(II)=0:GOTO 23525
  1488. 23521    DYA#(II)=INT(DYT#(II)/AVRN)
  1489. 23525     IF DYA#(II)=0 THEN DYR#(II)=0:GOTO 23530
  1490. 23526    DYR#(II)=(DYM#(II)/DYA#(II))*100
  1491. 23530    DYA$(II)=RIGHT$(SPACE$(11)+STR$(DYA#(II)),10)
  1492. 23535    CVNR#=DYR#(II):GOSUB *小数点変換:DYR$(II)=CVNO$
  1493. 23540  NEXT II
  1494. 23550   IF AVRN=0 THEN TAAI#=0:TAAO#=0:GOTO 23560
  1495. 23551  TAAI#=INT(TTAI#/AVRN):TAAO#=INT(TTAO#/AVRN):'月平均収入・支出
  1496. 23560   IF TAAI#=0 THEN TRAI#=0:GOTO 23565
  1497. 23561  TRAI#=(TMAI#/TAAI#)*100       :'平月比収入
  1498. 23565   IF TAAO#=0 THEN TRAO#=0:GOTO 23570
  1499. 23566  TRAO#=(TMAO#/TAAO#)*100       :'平月比支出
  1500. 23570  TAAI$=RIGHT$(SPACE$(10)+STR$(TAAI#),10)
  1501. 23575  TAAO$=RIGHT$(SPACE$(10)+STR$(TAAO#),10)
  1502. 23580    CVNR#=TRAI#:GOSUB *小数点変換:TRAI$=CVNO$
  1503. 23585    CVNR#=TRAO#:GOSUB *小数点変換:TRAO$=CVNO$
  1504. 23590  RETURN
  1505. 23595 '
  1506. 23600 *小数点変換
  1507. 23605  CVNR1#=INT(CVNR#)
  1508. 23610  CVNR1$=RIGHT$(SPACE$(8)+STR$(CVNR1#),8)+"."
  1509. 23620  CVNR2#=INT((CVNR#-CVNR1#)*100)
  1510. 23630  CVNR2$=RIGHT$(STR$(100+CVNR2#),2)
  1511. 23640  CVNO$=RIGHT$(CVNR1$+CVNR2$,10)
  1512. 23650  RETURN
  1513. 23660 '
  1514. 23700 *累計表枠表示
  1515. 23705  MOUSE 1,,,0
  1516. 23710  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1517. 23720  LINE(552,341)-(558,342),PSET,6,BF
  1518. 23730  LOAD@ TIFDRV$+"\HK2INtt.TIF",(W_X1(G),W_Y1(G))
  1519. 23740  MOUSE 1,,,1
  1520. 23750  FOR II=1 TO 15
  1521. 23760    A$=CFI$(II):IF II>3 THEN YY=14 ELSE YY=0
  1522. 23770    SYMBOL(W_X1(G)+27,W_Y1(G)+54+YY+(II-1)*14),A$,.75!,.75!,0
  1523. 23780  NEXT II
  1524. 23890 RETURN
  1525. 23900 '
  1526. 23910 *累計表枠消去
  1527. 23920  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1528. 23925  LINE(552,341)-(558,342),PSET,0,BF
  1529. 23930  RETURN
  1530. 23940 '
  1531. 24000 *起算日表示
  1532. 24010  A$=RIGHT$(SDAY$,2)
  1533. 24020  SYMBOL(573,396),A$,.75!,.75!,%2
  1534. 24030  A$=LEFT$(SSYMD$,4)+"."+MID$(SSYMD$,5,2)+"."+RIGHT$(SSYMD$,2)
  1535. 24040  SYMBOL(573,434),A$,.75!,.75!,%2
  1536. 24050  RETURN
  1537. 24060 '
  1538. 24100 *累計表データ表示
  1539. 24105  GOSUB *累計表合計計算
  1540. 24106  GOSUB *累計諸演算
  1541. 24110  FOR II=1 TO 15
  1542. 24120    IF II>3 THEN YY=14 ELSE YY=0
  1543. 24125    Y=W_Y1(G)+54+YY+(II-1)*14
  1544. 24130    SYMBOL(W_X1(G)+ 78,Y),DYM$(II),.75!,.75!,0
  1545. 24135    SYMBOL(W_X1(G)+149,Y),DYT$(II),.75!,.75!,0
  1546. 24140    SYMBOL(W_X1(G)+221,Y),DYA$(II),.75!,.75!,0
  1547. 24145    SYMBOL(W_X1(G)+294,Y),DYR$(II),.75!,.75!,0
  1548. 24150  NEXT II
  1549. 24160    Y=W_Y1(G)+54+(4-1)*14
  1550. 24210    SYMBOL(W_X1(G)+ 78,Y),TMAI$,.75!,.75!,1
  1551. 24212    SYMBOL(W_X1(G)+149,Y),TTAI$,.75!,.75!,1
  1552. 24214    SYMBOL(W_X1(G)+221,Y),TAAI$,.75!,.75!,1
  1553. 24216    SYMBOL(W_X1(G)+294,Y),TRAI$,.75!,.75!,1
  1554. 24220    Y=W_Y1(G)+54+14+(16-1)*14
  1555. 24230    SYMBOL(W_X1(G)+ 78,Y),TMAO$,.75!,.75!,2
  1556. 24232    SYMBOL(W_X1(G)+149,Y),TTAO$,.75!,.75!,2
  1557. 24234    SYMBOL(W_X1(G)+221,Y),TAAO$,.75!,.75!,2
  1558. 24236    SYMBOL(W_X1(G)+294,Y),TRAO$,.75!,.75!,2
  1559. 24240    Y=W_Y1(G)+54+20+(17-1)*14
  1560. 24250    SYMBOL(W_X1(G)+ 78,Y),TMR$,.75!,.75!,0
  1561. 24260    SYMBOL(W_X1(G)+149,Y),TTR$,.75!,.75!,0
  1562. 24270  RETURN
  1563. 24280 '
  1564. 24300 *累計表合計計算
  1565. 24310  TTAI#=0:TMAI#=0:TTAO#=0:TMAO#=0
  1566. 24320  FOR II=1 TO 3
  1567. 24330    TMAI#=TMAI#+VAL(DYM$(II)):TTAI#=TTAI#+VAL(DYT$(II))
  1568. 24340  NEXT II
  1569. 24350  TMAI$=RIGHT$(SPACE$(10)+STR$(TMAI#),10)     :'月間収入合計
  1570. 24360  TTAI$=RIGHT$(SPACE$(10)+STR$(TTAI#),10)     :'累積収入合計
  1571. 24370  FOR II=4 TO 15
  1572. 24380    TMAO#=TMAO#+VAL(DYM$(II)):TTAO#=TTAO#+VAL(DYT$(II))
  1573. 24390  NEXT II
  1574. 24400  TMAO$=RIGHT$(SPACE$(10)+STR$(TMAO#),10)     :'月間支出合計
  1575. 24410  TTAO$=RIGHT$(SPACE$(10)+STR$(TTAO#),10)     :'累積支出合計
  1576. 24420  TMR$=RIGHT$(SPACE$(10)+STR$(TMAI#-TMAO#),10):'月間残高
  1577. 24430  TTR$=RIGHT$(SPACE$(10)+STR$(TTAI#-TTAO#),10):'累積残高
  1578. 24440  RETURN
  1579. 24450 '
  1580. 24500 '///////////////////////////////////////////////////////////
  1581. 24510 '                                       総計再計算
  1582. 24520 *月間総計ファイル作成
  1583. 24530  DYX=DY  :MNX=MN  :YRX=YR  :SWNOXX=SWNO:IYMX$=IYM$
  1584. 24535  DYX$=DY$:MNX$=MN$:YRX$=YR$
  1585. 24540  ENDF=0:PCDAYC=0
  1586. 24550  IF DY>=SDAY THEN 24580
  1587. 24560    YDEF=0:MDEF=-1:DDEF=0:GOSUB *年月日変更
  1588. 24562    IYM$=YR$+MN$:GOSUB *HKISRC
  1589. 24566    IF FIDX=1 THEN 24580
  1590. 24568    YDEF=0:MDEF=+1:DDEF=0:GOSUB *年月日変更
  1591. 24570    IYM$=YR$+MN$  :ENDF=1
  1592. 24580  MESN=23:GOSUB *MESDSP:MESN=15:GOSUB *SNDMSG
  1593. 24590  GOSUB *HKTFGET
  1594. 24600  PCCD=1:PCMES$=YR$+"年"+MN$+"月現在 累計額演算中":GOSUB *PROCD
  1595. 24620  GOSUB *TRG2CLR
  1596. 24630  IF ENDF=1 THEN 24690
  1597. 24660 '---------- SDAY TO 31
  1598. 24661  FOR RDY=SDAY TO 31
  1599. 24662    LINE(68*8,465)-(79*8,465+12),PSET,0,BF
  1600. 24664    SYMBOL(68*8,465),IYM$+"/"+RIGHT$("  "+STR$(RDY),2),.75!,.75!,4
  1601. 24666    GOSUB *HKDGET:PCDAYC=PCDAYC+1
  1602. 24668    GOSUB *累計額演算
  1603. 24669    PCCD=3:PCCUR=PCDAYC:PCMAX=31:PCINT=1:GOSUB *PROCD
  1604. 24670  NEXT RDY :'----------
  1605. 24680  YDEF=0:MDEF=+1:DDEF=0:GOSUB *年月日変更
  1606. 24682  IYM$=YR$+MN$
  1607. 24684  GOSUB *HKISRC
  1608. 24686  IF FIDX=0 THEN 24740
  1609. 24688  IF SDAY=1 THEN 24740
  1610. 24690 '---------- 1 TO SDAY-1
  1611. 24691  FOR RDY=1 TO SDAY-1
  1612. 24692    LINE(68*8,465)-(79*8,465+12),PSET,0,BF
  1613. 24694    SYMBOL(68*8,465),IYM$+"/"+RIGHT$("  "+STR$(RDY),2),.75!,.75!,4
  1614. 24696    GOSUB *HKDGET
  1615. 24698    GOSUB *累計額演算:PCDAYC=PCDAYC+1
  1616. 24699    PCCD=3:PCCUR=PCDAYC:PCMAX=31:PCINT=1:GOSUB *PROCD
  1617. 24700  NEXT RDY:'------------
  1618. 24740  GOSUB *累計額文字変換
  1619. 24750  GOSUB *HKTFPUT:ENDF=0
  1620. 24760  MESN=14:GOSUB *SNDMSG
  1621. 24765  PCCD=2:GOSUB *PROCD
  1622. 24770  DY=DYX  :MN=MNX  :YR=YRX  :SWNO=SWNOXX:IYM$=IYMX$
  1623. 24775  DY$=DYX$:MN$=MNX$:YR$=YRX$
  1624. 24780  RETURN
  1625. 24790 '
  1626. 24800 *累計額文字変換
  1627. 24810  FOR II=1 TO 15
  1628. 24812    DYM$(II)=RIGHT$(SPACE$(10)+STR$(DYM#(II)),10)
  1629. 24814  NEXT II
  1630. 24820  RETURN
  1631. 24830 '
  1632. 24840 *累計額演算
  1633. 24850  FOR II=1 TO 15: DYM#(II)=DYM#(II)+VAL(DYN$(II)) :NEXT II
  1634. 24870  RETURN
  1635. 24880 '
  1636. 24890 *TRG2CLR
  1637. 24900  FOR II=1 TO 15: DYM#(II)=0:NEXT II
  1638. 24920  RETURN
  1639. 24970 '
  1640. 24980 '///////////////////////////////////////////////////////////
  1641. 24990 '                                   辞書入力 v1.3
  1642. 25000 *辞書入力
  1643. 25005  G=3:CBC=0 :'文字背景色
  1644. 25010  LXDIC=W_X1(1)+202:LYDIC=W_Y1(1)+144+16*(IPNO-1)
  1645. 25020  IF IPNO>3 THEN LYDIC=LYDIC+24
  1646. 25040  GOSUB *辞書データ枠表示
  1647. 25050  A$=DRM$(IPNO)
  1648. 25060  SPS=INSTR(A$,"  ")
  1649. 25070  IF SPS=1           THEN LMG$="":GOTO 25100
  1650. 25080  IF SPS>50 OR SPS=0 THEN LMG$=A$:GOTO 25100
  1651. 25090  LMG$=LEFT$(A$,SPS)
  1652. 25100  LX=LXDIC:LY=LYDIC:LC=6:SYMBOL(LX,LY),LMG$,.75!,.75!,%LC
  1653. 25110  WSP=1
  1654. 25120  GOSUB *辞書データ表示
  1655. 25130  MESN=17:GOSUB *MESDSP
  1656. 25140  G=3:GOSUB *MCSELECT'ボタン選択 :'swpass=1 cut
  1657. 25145  IF SWNO<0 THEN SWNO=1
  1658. 25146  IF SWNO=22 THEN GOSUB *MCDRAG :GOTO 25140
  1659. 25150  IF SWNO>5 THEN *WSEL
  1660. 25160  ON SWNO GOTO *WS3,*WS2,*WS1,*WS5,*WS4
  1661. 25170  GOTO 25140
  1662. 25180  '
  1663. 25190  *WS4:'--- PAGE INC
  1664. 25200   G=3:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1665. 25210   WSP=WSP+16
  1666. 25220   IF WSP>WRDM(IPNO) THEN WSP=WSP-16:GOTO 25240
  1667. 25230   GOSUB *辞書データ表示
  1668. 25240   G=3:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1669. 25250   GOTO 25130
  1670. 25260  *WS5:'--- PAGE DEC
  1671. 25270   G=3:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1672. 25280   WSP=WSP-16
  1673. 25290   IF WSP<1 THEN WSP=WSP+16:GOTO 25310
  1674. 25300   GOSUB *辞書データ表示
  1675. 25310   G=3:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1676. 25320   GOTO 25130
  1677. 25330  *WS3:'--- 取消
  1678. 25340   ENDF=1:LMG$=DRM$(IPNO)
  1679. 25360   GOTO 25390
  1680. 25370  *WS1:'--- 入力
  1681. 25380   ENDF=0
  1682. 25390   IF RIGHT$(LMG$,1)="・" THEN LMG$=LEFT$(LMG$,LEN(LMG$)-1)
  1683. 25400   DRM$(IPNO)=LEFT$(LMG$+SPACE$(52),52)
  1684. 25420   LX=LXDIC:LY=LYDIC:LC=6
  1685. 25430   SYMBOL(LX,LY),DRM$(IPNO),.75!,.75!,%LC
  1686. 25450   G=3:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1687. 25460   G=3:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1688. 25470   G=3:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1689. 25480   GOSUB *辞書データ枠消去
  1690. 25490   RETURN
  1691. 25500  *WS2:'--- 消去
  1692. 25510   G=3:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1693. 25520   LMG$=""
  1694. 25530   LX=LXDIC:LY=LYDIC
  1695. 25540   LINE(LX,LY)-(LX+6*52,LY+11),PSET,%CBC,BF
  1696. 25550   G=3:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1697. 25560   GOTO 25130
  1698. 25570  *WSEL'--------------
  1699. 25580   G=3:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1700. 25590   WSELN=WSP+(SWNO-6)
  1701. 25600   IF WSELN>WRDM(IPNO) THEN 25680
  1702. 25610   IF KLEFT$(WRD$(IPNO,WSELN),1)="★" THEN 25680
  1703. 25620   LMG$=LMG$+WRD$(IPNO,WSELN)+"・"
  1704. 25630   IF LEN(LMG$)<=52 THEN 25670
  1705. 25640   LMG$=LEFT$(LMG$,53):CHT=KTYPE(KRIGHT$(LMG$,1),1)
  1706. 25650   IF CHT=1 THEN LMG$=LEFT$(LMG$,51): GOTO 25670
  1707. 25660                 LMG$=LEFT$(LMG$,52)
  1708. 25670   LX=LXDIC:LY=LYDIC:LC=6:SYMBOL(LX,LY),LMG$,.75!,.75!,%LC
  1709. 25680   G=3:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1710. 25690   GOTO 25130
  1711. 25700 '
  1712. 25800 *辞書データ枠表示
  1713. 25805  MOUSE 1,,,0
  1714. 25810  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1715. 25820  LOAD@ TIFDRV$+"\hk2DICD.TIF",(W_X1(G),W_Y1(G))
  1716. 25830  MOUSE 1,,,1
  1717. 25840  SYMBOL(W_X1(G)+22,W_Y1(G)+6),CFI$(IPNO),.8!,.75!,%1,,,1
  1718. 25860  RETURN
  1719. 25870 *辞書データ枠消去
  1720. 25880  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1721. 25900  RETURN
  1722. 25910 '
  1723. 26000 *辞書入力スイッチ
  1724. 26010  IF DICIF=0 THEN DICSC=0 ELSE DICSC=4
  1725. 26020  LINE(552,326)-(558,327),PSET,DICSC,BF
  1726. 26030 ' WAIT SWAIT\1+1
  1727. 26040  RETURN
  1728. 26050 '
  1729. 26100 *辞書データ表示
  1730. 26130  WPAGE=INT((WSP-1)/16)+1
  1731. 26140  MPAGE=INT((WRDM(IPNO)-1)/16)+1
  1732. 26150  WPG$=RIGHT$(STR$(WPAGE),1)+"/"+RIGHT$(STR$(MPAGE),1)
  1733. 26160  LINE(W_X1(G)+110,W_Y1(G)+6)-(W_X1(G)+120,W_Y1(G)+16),PSET,0,BF
  1734. 26165  SYMBOL(W_X1(G)+110,W_Y1(G)+6),WPG$,.75!,.75!,4,,,,2
  1735. 26170  FOR II=0 TO 15
  1736. 26172    LINE(W_X1(G)+10,W_Y1(G)+56+14*II)-(W_X1(G)+100,W_Y1(G)+67+14*II),PSET,0,BF
  1737. 26174  NEXT II
  1738. 26180  FOR II=0 TO 15
  1739. 26185    IF (WSP+II)>WRDM(IPNO) THEN 26220
  1740. 26190    WRDX$=LEFT$(WRD$(IPNO,WSP+II),14)
  1741. 26200    IF KLEFT$(WRDX$,1)="★" THEN WRDDC=4 ELSE WRDDC=7
  1742. 26215    SYMBOL(W_X1(G)+10,W_Y1(G)+56+14*II),WRDX$,.75!,.75!,WRDDC
  1743. 26220  NEXT II
  1744. 26230  RETURN
  1745. 26240 '
  1746. 27100 '-----------------------------------------------------------
  1747. 27110 *家計簿データ保存:'  v1.4
  1748. 27115  IF COMODE=1 THEN 27135
  1749. 27120  G=1:B=BSAVE:BST(G,B)=1:GOSUB *BTN_ONOFF 
  1750. 27130  MESN=13:GOSUB *MESDSP:MESN=24:GOSUB *SNDMSG
  1751. 27135  GOSUB *HKISRC :'v1.4 月間総計計算後RIがずれるため追加
  1752. 27140  RDY=DY:GOSUB *HKDPUT
  1753. 27150  MID$(IMAK$,DY,1)="*"
  1754. 27155  MID$(IMAK$,32,1)=" "
  1755. 27165  GOSUB *HKIPUT:GOSUB *HKTFPUT
  1756. 27170  IPF=0
  1757. 27172  IF COMODE=1 THEN 27180
  1758. 27175  G=1:B=BSAVE:BST(G,B)=0:GOSUB *BTN_ONOFF 
  1759. 27180  RETURN
  1760. 27185 '
  1761. 27200 *電卓入力スイッチ
  1762. 27210  IF CALCF=0 THEN CALCC=0 ELSE CALCC=4
  1763. 27220  LINE(552,311)-(558,312),PSET,CALCC,BF
  1764. 27230 ' WAIT SWAIT\1+1
  1765. 27240  RETURN
  1766. 27250 '
  1767. 29900 '------------------------------------------------------------------
  1768. 30000 '
  1769. 30100 *ABOUT表示
  1770. 30105  X1A=146:Y1A=150:XPA=326:YPA=100
  1771. 30106  MOUSE 1,,,0
  1772. 30110  GET@A(X1A,Y1A)-(X1A+XPA,Y1A+YPA),ABOUTD#
  1773. 30120  LOAD@ TIFDRV$+"\hk2logo.tif",(X1A,Y1A)
  1774. 30125  MOUSE 1,,,1
  1775. 30130  CMES$=ABOUT$:GOSUB *確認
  1776. 30150  PUT@A(X1A,Y1A)-(X1A+XPA,Y1A+YPA),ABOUTD#
  1777. 30160  RETURN
  1778. 30170 '
  1779. 30500 *数字漢字変換
  1780. 30505  NBK$=""
  1781. 30510  FOR INBK=1 TO NBN
  1782. 30512    NBAX$=MID$(NBA$,INBK,1)
  1783. 30514    IF NBAX$=" " THEN NBK$=NBK$+" ":GOTO 30530
  1784. 30520    NBK$=NBK$+KNJ$(&H2330+VAL(NBAX$))
  1785. 30530  NEXT INBK
  1786. 30540  RETURN
  1787. 30580 '
  1788. 31000 *FADEOUT:CLS 1:CONSOLE 0,24,0
  1789. 31010  FOR II=0 TO 15
  1790. 31020    PALETTE II,[16*II,16*II,16*II]
  1791. 31030  NEXT II
  1792. 31040  FOR II=0 TO 255 STEP 5
  1793. 31050    FOR JJ=0 TO 15:KK=16*JJ+II*(255-16*JJ)/255
  1794. 31054      PALETTE JJ,[KK,KK,KK]
  1795. 31056    NEXT JJ
  1796. 31060  NEXT II
  1797. 31070  RETURN
  1798. 31080 '
  1799. 31200 *確認
  1800. 31205  G=2:SWNOX=SWNO:MOUSE 1,,,0
  1801. 31210  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1802. 31220  LOAD@ TIFDRV$+"\CAUTION2.TIF",(W_X1(G),W_Y1(G))
  1803. 31225  PLAY "o6l4ce":MOUSE 1,,,1
  1804. 31230  FOR II=1 TO 4
  1805. 31232    SYMBOL(W_X1(G)+102,W_Y1(G)+9),CMES$,.75!,.75!,6
  1806. 31234    WAIT SWAIT\10+1
  1807. 31236    LINE(W_X1(G)+102,W_Y1(G)+9)-(W_X1(G)+102+6*39,W_Y1(G)+9+12),PSET,%9,BF
  1808. 31237    WAIT SWAIT\10+1
  1809. 31238  NEXT II
  1810. 31239  SYMBOL(W_X1(G)+102,W_Y1(G)+9),CMES$,.75!,.75!,7
  1811. 31240  MESN=19:GOSUB *SNDMSG:'28chr
  1812. 31241  G=2:GOSUB *MCSELECT'ボタン選択
  1813. 31242  IF SWNO<0 THEN SWNO=2
  1814. 31243  IF SWNO=3 THEN GOSUB *MCDRAG:GOTO 31241
  1815. 31244  IF SWNO=0 THEN 31241
  1816. 31245  G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1817. 31260  WAIT SWAIT\5+1
  1818. 31270  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1819. 31272  CAUNO=SWNO:SWNO=SWNOX
  1820. 31275  RETURN
  1821. 31280 '
  1822. 31700 *項目検索
  1823. 31705  Y3=84:Y4=118:ITMSW=0
  1824. 31710  X1=124:Y1=142:X2=518:XP=215:Y2=214:YP=16
  1825. 31720  IF X_M<X1 OR X_M>X2                    THEN RETURN
  1826. 31722    IF (Y_M>Y3) AND (Y_M<Y4) THEN ITMN=0:GOTO 31760
  1827. 31725  IF X_M<XP THEN ITMK=1 ELSE ITMK=2
  1828. 31730  IF Y_M<Y1 OR Y_M>Y1+YP*3               THEN 31735
  1829. 31732    ITMN=(Y_M-Y1)\YP+1                  :GOTO 31760
  1830. 31735  IF Y_M<Y2 OR Y_M>Y2+YP*12              THEN RETURN
  1831. 31737    ITMN=(Y_M-Y2)\YP+4
  1832. 31760  ITMSW=1:PLAY "@21v2o5l64a@30"
  1833. 31770  RETURN
  1834. 31780 '
  1835. 31800 *カレンダー検索
  1836. 31810  X0=551:Y0=90:XP=12:YP=10:CLDSW=0
  1837. 31820  IF X_M<X0 OR X_M>X0+XP*7 THEN RETURN
  1838. 31830  IF Y_M<Y0 OR Y_M>Y0+YP*6 THEN RETURN
  1839. 31840  CLX=(X_M-X0)\XP:CLY=(Y_M-Y0)\YP
  1840. 31850  SELDAY=CLM(CLX,CLY)
  1841. 31860  IF SELDAY<>0 THEN CLDSW=1:PLAY "@21v2o5l64a@30"
  1842. 31870  RETURN
  1843. 31880 '
  1844. 32000 '
  1845. 32010 *カレンダー表示
  1846. 32020  X0=551:Y0=90:XP=12:YP=10:DYX=DY
  1847. 32030  FOR CLX=0 TO 6:FOR CLY=0 TO 5:CLM(CLX,CLY)=0:NEXT:NEXT
  1848. 32050  DY=1:GOSUB *WEEKN:WKMCLD=WK
  1849. 32060  LINE(X0-1,Y0-1)-(X0-1+XP*7-1,Y0+YP*6-2),PSET,%5,BF
  1850. 32070  FOR IDSP=0 TO MNDN-1:COLOR 7,7
  1851. 32080    CLDD$=RIGHT$("  "+STR$(IDSP+1),2)
  1852. 32090    CLX=(WK+IDSP) MOD 7
  1853. 32100    CLY=INT((WK+IDSP)/7)
  1854. 32110    CLM(CLX,CLY)=IDSP+1
  1855. 32120    CLDC=1:CLDX=X0+CLX*XP:CLDY=Y0+CLY*YP
  1856. 32130    IF CLX=0 THEN CLDC=10
  1857. 32140    IF CLX=6 THEN CLDC=9
  1858. 32150    GOSUB *祝日検出
  1859. 32180    SYMBOL(CLDX,CLDY),CLDD$,.5!,.5!,%CLDC,,,,1
  1860. 32230  NEXT IDSP
  1861. 32240  DY=DYX
  1862. 32250  RETURN
  1863. 32260 '
  1864. 32270 *行事表示
  1865. 32280  EVENT$=EVDT$(MN,DY)
  1866. 32290  LINE(310,37)-(307+6*32,37+11),PSET,%8,BF
  1867. 32295  IF LEFT$(EVENT$,6)="(祝日)" THEN CL=11:GOTO 32300
  1868. 32296  IF LEFT$(EVENT$,2)="★"     THEN CL=12:GOTO 32300
  1869. 32297  CL=15
  1870. 32300  SYMBOL(310,37),EVENT$,.75!,.75!,%CL
  1871. 32310  RETURN
  1872. 32320 '
  1873. 32330 *祝日検出
  1874. 32340  HOLDY=0:EVEX=0
  1875. 32350  CLEV$=EVDT$(MN,IDSP+1)
  1876. 32360  IF 休日1$="" THEN 32390
  1877. 32370  IF CLEV$<>SPACE$(40) THEN EVEX=1
  1878. 32380  IF INSTR(CLEV$,休日1$)<>0 THEN CLDC=10:HOLDY=(1 AND 代休1)
  1879. 32390  IF 休日2$="" THEN 32410
  1880. 32400  IF INSTR(CLEV$,休日2$)<>0 THEN CLDC=10:HOLDY=(1 AND 代休2)
  1881. 32410  IF CLX=1 AND HOLDYX=1 THEN CLDC=10
  1882. 32420  HOLDYX=HOLDY
  1883. 32430  RETURN
  1884. 32440 '
  1885. 32450 *EVOPN:'行事データファイルオープン
  1886. 32460  DRV$=LEFT$(PRGDRV$,2)
  1887. 32470  IF LEN(PRGDRV$)=3 THEN DRV$=LEFT$(PRGDRV$,2):PATH$="":GOTO 32490
  1888. 32480  PATH$=RIGHT$(PRGDRV$,LEN(PRGDRV$)-2)
  1889. 32490  FLN$=DRV$+"(40)"+PATH$+"\EVENT.DAT"
  1890. 32500  OPEN "R",#1,FLN$
  1891. 32510  FIELD #1,40 AS EV$
  1892. 32520  RETURN
  1893. 32530 '
  1894. 32540 *EVGET:'行事データファイル読み込み
  1895. 32550  GOSUB *EVOPN:R=1
  1896. 32560  FOR II=1 TO 12:FOR JJ=1 TO 32
  1897. 32570    GET #1,R
  1898. 32580    EVDT$(II,JJ)=EV$
  1899. 32590    R=R+1
  1900. 32600  NEXT JJ:NEXT II
  1901. 32610  CLOSE
  1902. 32620  RETURN
  1903. 32630 '
  1904. 32700 *日カーソル表示
  1905. 32710  XM0=550:XMP=12:YM0=89:YMP=10
  1906. 32715  CLX=(WKMCLD+(DY-1)) MOD 7
  1907. 32716  CLY=INT((WKMCLD+(DY-1))/7)
  1908. 32730  GOSUB *日カーソル消去
  1909. 32740  XM1=XM0+CLX*XMP:YM1=YM0+CLY*YMP
  1910. 32750  XM2=XM1+10     :YM2=YM1+9
  1911. 32770  LINE(XM1,YM1)-(XM2,YM2),PSET,4,B
  1912. 32780  CLXX=CLX:CLYX=CLY
  1913. 32790  RETURN
  1914. 32800 '
  1915. 32810 *日カーソル消去
  1916. 32830  XM1=XM0+CLXX*XMP:YM1=YM0+CLYX*YMP
  1917. 32840  XM2=XM1+10      :YM2=YM1+9
  1918. 32860  LINE(XM1,YM1)-(XM2,YM2),PSET,%5,B
  1919. 32870  RETURN
  1920. 32880 '
  1921. 33000 *PROCD:'処理状況表示
  1922. 33010  ON PCCD GOTO *PC01,*PC02,*PC03
  1923. 33020 *PC01
  1924. 33030  GET@A(150,200)-(483,256),HLPC#
  1925. 33040  MOUSE 1,,,0:LOAD@ TIFDRV$+"\HK2PROC.TIF",(150,200):MOUSE 1,,,1
  1926. 33050  SYMBOL(226,204),PCMES$,.75!,.75!,0
  1927. 33060  RETURN
  1928. 33070 *PC02
  1929. 33080  PUT@A(150,200)-(483,256),HLPC#
  1930. 33090  RETURN
  1931. 33100 *PC03:' pcmax,pccur,pcint
  1932. 33110  XP0=157:YP0=240:XPM=477:YPM=250
  1933. 33120  IF (PCCUR MOD PCINT)<>0 THEN RETURN
  1934. 33130  XP=XP0+INT((XPM-XP0)*(PCCUR/PCMAX))
  1935. 33140  LINE(XP0,YP0)-(XP,YPM),PSET,1,BF
  1936. 33150  RETURN
  1937. 33160 '
  1938. 34000 *PATHMAKE:'---------- パス作成 -------------------------------
  1939. 34005  DRV$=LEFT$(XDRV$,2)
  1940. 34010  IF LEN(XDRV$)=3 THEN DRV$=LEFT$(XDRV$,2):PATH$="":GOTO 34020
  1941. 34015  PATH$=RIGHT$(XDRV$,LEN(XDRV$)-2)
  1942. 34020  RETURN
  1943. 34030 '
  1944. 35000 *HKIOPN:'---------- インデックスファイルオープン
  1945. 35005  XDRV$=DATDRV$:GOSUB *PATHMAKE
  1946. 35020  FLN$=DRV$+"(38)"+PATH$+"\HLIDX.DAT"
  1947. 35030  OPEN "R",#2,FLN$
  1948. 35040  FIELD #2,6 AS I$(1),32 AS I$(2)
  1949. 35050  IR=LOF(2)
  1950. 35060  RETURN
  1951. 35070 '
  1952. 35100 *HKDOPN:'---------- 家計簿データファイルオープン
  1953. 35105  XDRV$=DATDRV$:GOSUB *PATHMAKE
  1954. 35120  FLN$=DRV$+"(1120)"+PATH$+"\HL"+IYM$+".DAT"
  1955. 35130  OPEN "R",#1,FLN$
  1956. 35140  FIELD #1,128 AS D$(1),10*16 AS D$(2),52*4 AS D$(3),52*4 AS D$(4),52*4 AS D$(5),52*4 AS D$(6)
  1957. 35150  AR=LOF(1)
  1958. 35160  RETURN
  1959. 35170 '
  1960. 35200 *HKCFOPN:'---------- 定額ファイルオープン
  1961. 35205  XDRV$=PRGDRV$:GOSUB *PATHMAKE
  1962. 35220  FLN$=DRV$+"(32)"+PATH$+"\Hkconst.DAT"
  1963. 35230  OPEN "R",#3,FLN$
  1964. 35240  FIELD #3,16 AS CO$(1),10 AS CO$(2),2 AS CO$(3),2 AS CO$(4),2 AS CO$(5)
  1965. 35260  RETURN
  1966. 35270 '
  1967. 35300 *HKTFOPN:'---------- 家計簿総計ファイルオープン
  1968. 35305  XDRV$=PRGDRV$:GOSUB *PATHMAKE
  1969. 35320  FLN$=DRV$+"(660)"+PATH$+"\HTOTAL.DAT"
  1970. 35330  OPEN "R",#4,FLN$
  1971. 35340  FIELD #4,10*15 AS DT$(1),10*15 AS DT$(2),10*18 AS DT$(3),10*18 AS DT$(4)
  1972. 35360  ATR=LOF(4):RETURN
  1973. 35370 '    ファイル構成
  1974. 35371 '      項目   1 | dyt$(1)|-| dyt$(15)| --総累計
  1975. 35372 '             2 | dym$(1)|-| dym$(15)| --月間累計
  1976. 35373 '      小分類 3 |sdyt$(1)|-|sdyt$(15)| 4|ttr$|  5|tdr$[date$]        |
  1977. 35374 '             6 |sdym$(1)|-|sdym$(15)| 7|tmr$|  8|tor$[original date]|
  1978. 35380 '
  1979. 35400 *DTLOAD:'---------- 日付ジャンプデータファイル読込
  1980. 35405  XDRV$=RAMDRV$:GOSUB *PATHMAKE
  1981. 35420  FLN$=DRV$+PATH$+"\SRCjump.DAT"
  1982. 35430  OPEN "I",#1,FLN$
  1983. 35440  DT$=INPUT$(10,#1):CLOSE
  1984. 35445  KILL DRV$+PATH$+"\SRCjump.DAT"
  1985. 35450  RETURN
  1986. 35460 '
  1987. 35500 *DTCHK :'---------- 日付ジャンプファイルチェック
  1988. 35505  XDRV$=RAMDRV$:GOSUB *PATHMAKE
  1989. 35520  FLN$=DRV$+"(1)"+PATH$+"\SRCjump.DAT"
  1990. 35530  OPEN "R",#1,FLN$:FIELD #1,1 AS X$
  1991. 35540  SRCJ=LOF(1):CLOSE
  1992. 35550  IF SRCJ=0 THEN KILL DRV$+PATH$+"\SRCjump.DAT"
  1993. 35560  RETURN
  1994. 35570 '
  1995. 35900 *SHKISRC:'---------- インデックスファイル検索S
  1996. 35910  FIDX=0
  1997. 35920  GOSUB *HKIOPN
  1998. 35930    GET #2,RR
  1999. 35940    IYM$=I$(1):IMAK$=I$(2)
  2000. 35950  CLOSE #2
  2001. 35960  RETURN
  2002. 35970 '
  2003. 36000 *HKISRC:'---------- インデックスファイル検索
  2004. 36005  FIDX=0
  2005. 36010  GOSUB *HKIOPN
  2006. 36020  FOR R=1 TO IR
  2007. 36030    GET #2,R
  2008. 36040    IF IYM$<>I$(1) THEN 36060
  2009. 36050    IYM$=I$(1):IMAK$=I$(2):RI=R:R=IR+1:FIDX=1
  2010. 36060  NEXT R
  2011. 36062  GET #2,IR
  2012. 36064  YRM=VAL(LEFT$(I$(1),4)):MNM=VAL(RIGHT$(I$(1),2))
  2013. 36070  CLOSE #2
  2014. 36080  RETURN
  2015. 36090 '
  2016. 36100 *HKIPUT:'---------- インデックスファイル書き込み
  2017. 36110  GOSUB *HKIOPN
  2018. 36120  LSET I$(1)=IYM$
  2019. 36130  LSET I$(2)=IMAK$
  2020. 36140  PUT #2,RI
  2021. 36150  CLOSE #2
  2022. 36160  RETURN
  2023. 36170 '
  2024. 36200 *HKDGET:'---------- 家計簿データ読み込み
  2025. 36210  GOSUB *HKDOPN
  2026. 36220  R=RDY
  2027. 36230  GET #1,R:IF ASR<>0 THEN GET #3,R
  2028. 36240  DEV$=D$(1)
  2029. 36250  FOR II=1 TO 16:DYN$(II   )=MID$(D$(2),(II-1)*10+1,10):NEXT II
  2030. 36252  FOR II=1 TO  4:DRM$(II+ 0)=MID$(D$(3),(II-1)*52+1,52):NEXT II
  2031. 36253  FOR II=1 TO  4:DRM$(II+ 4)=MID$(D$(4),(II-1)*52+1,52):NEXT II
  2032. 36254  FOR II=1 TO  4:DRM$(II+ 8)=MID$(D$(5),(II-1)*52+1,52):NEXT II
  2033. 36255  FOR II=1 TO  4:DRM$(II+12)=MID$(D$(6),(II-1)*52+1,52):NEXT II
  2034. 36260  GOSUB *HKDCAL
  2035. 36280  CLOSE #1
  2036. 36290  RETURN
  2037. 36295 '
  2038. 36300 *HKDPUT:'---------- 家計簿データ書き込み
  2039. 36310  GOSUB *HKDOPN
  2040. 36320  R=RDY
  2041. 36330  LSET D$(1)=DEV$
  2042. 36340  DX$="":FOR II=1 TO 16:DX$=DX$+DYN$(II   ):NEXT II:LSET D$(2)=DX$
  2043. 36342  DX$="":FOR II=1 TO  4:DX$=DX$+DRM$(II+ 0):NEXT II:LSET D$(3)=DX$
  2044. 36343  DX$="":FOR II=1 TO  4:DX$=DX$+DRM$(II+ 4):NEXT II:LSET D$(4)=DX$
  2045. 36344  DX$="":FOR II=1 TO  4:DX$=DX$+DRM$(II+ 8):NEXT II:LSET D$(5)=DX$
  2046. 36345  DX$="":FOR II=1 TO  4:DX$=DX$+DRM$(II+12):NEXT II:LSET D$(6)=DX$
  2047. 36350  PUT #1,R
  2048. 36360  CLOSE #1
  2049. 36370  RETURN
  2050. 36380 '
  2051. 36400 *HKDCAL:'---------- 家計簿合計額計算
  2052. 36410  FOR II=1 TO 16:DYN#(II)=VAL(DYN$(II)):NEXT II
  2053. 36420  DIYN#=0:FOR II=1 TO 3 :DIYN#=DIYN#+DYN#(II):NEXT II
  2054. 36430  DIYN$=RIGHT$(SPACE$(8)+STR$(DIYN#),8)
  2055. 36440  DBYN#=0:FOR II=4 TO 7 :DBYN#=DBYN#+DYN#(II):NEXT II
  2056. 36450  DBYN$=RIGHT$(SPACE$(8)+STR$(DBYN#),8)
  2057. 36460  DOYN#=0:FOR II=4 TO 15:DOYN#=DOYN#+DYN#(II):NEXT II
  2058. 36480  DOYN$=RIGHT$(SPACE$(8)+STR$(DOYN#),8)
  2059. 36485  DION#=DIYN#-DOYN#:DION$=RIGHT$(SPACE$(8)+STR$(DION#),8)
  2060. 36490  RETURN
  2061. 36495 '
  2062. 36500 *HKID:'---------- 先頭インデックスファイルチェック
  2063. 36510  RR=1:GOSUB *SHKISRC
  2064. 36520  SSYR$=LEFT$(IYM$,4):SSMN$=RIGHT$(IYM$,2)
  2065. 36530  SSYR=VAL(SSYR$)
  2066. 36540  SSMN=VAL(SSMN$)
  2067. 36550  RETURN
  2068. 36560 '
  2069. 36700 *HKTFGET:'---------- 総計データ読み込み
  2070. 36710  GOSUB *HKTFOPN
  2071. 36730  GET #4,1
  2072. 36750  FOR II=1 TO 15:DYT$(II)=MID$(DT$(1),(II-1)*10+1,10):NEXT II
  2073. 36752  FOR II=1 TO 15:DYM$(II)=MID$(DT$(2),(II-1)*10+1,10):NEXT II
  2074. 36755  TTR$=MID$(DT$(3),(17-1)*10+1,10)
  2075. 36756  TMR$=MID$(DT$(4),(17-1)*10+1,10)
  2076. 36760  TDR$=RIGHT$(DT$(3),10):TOR$=RIGHT$(DT$(4),10)
  2077. 36770  GOSUB *HKTFMEM
  2078. 36780  CLOSE #4
  2079. 36790  RETURN
  2080. 36795 '
  2081. 36800 *HKTFPUT:'---------- 総計データ書き込み
  2082. 36810  GOSUB *HKTFOPN
  2083. 36850  DX$="":FOR II=1 TO 15:DX$=DX$+DYT$(II):NEXT II:LSET DT$(1)=DX$
  2084. 36852  DX$="":FOR II=1 TO 15:DX$=DX$+DYM$(II):NEXT II:LSET DT$(2)=DX$
  2085. 36854  DX1$=SPACE$(160):DX2$=SPACE$(160)
  2086. 36860  LSET DT$(3)=DX1$+TTR$+DATE$+SPACE$(2)
  2087. 36865  LSET DT$(4)=DX2$+TMR$+TOR$+SPACE$(2)
  2088. 36870  PUT #4,1
  2089. 36880  CLOSE #4
  2090. 36890  RETURN
  2091. 36895 '
  2092. 36900 *HKTFMEM:'---------- 家計簿データ記憶
  2093. 36910  FOR II=1 TO 15
  2094. 36912    DYNX#(II)=DYN#(II):DYT#(II)=VAL(DYT$(II))
  2095. 36913                       DYM#(II)=VAL(DYM$(II))
  2096. 36914  NEXT II
  2097. 36930  RETURN
  2098. 36940 '
  2099. 37000 *HKCFGET'----------- 定額ファイル読み込み
  2100. 37010  GOSUB *HKCFOPN
  2101. 37020  FOR R=1 TO 10
  2102. 37030    GET #3,R
  2103. 37040    FOR JJ=1 TO 5:COX$(R,JJ)=CO$(JJ):NEXT JJ
  2104. 37050  NEXT R
  2105. 37060  CLOSE
  2106. 37070  RETURN
  2107. 37080 '
  2108. 37100 *HKCFPUT'----------- 定額ファイル書き込み
  2109. 37110  GOSUB *HKCFOPN
  2110. 37120  FOR R=1 TO 10
  2111. 37125    COX$(R,5)=SPACE$(2)
  2112. 37130    FOR JJ=1 TO 5:LSET CO$(JJ)=COX$(R,JJ):NEXT JJ
  2113. 37140    PUT #3,R
  2114. 37150  NEXT R
  2115. 37160  CLOSE
  2116. 37170  RETURN
  2117. 37180 '
  2118. 37290 '
  2119. 37400  RETURN
  2120. 37500 *DICREAD:'---------- 辞書読み込み 'V1.2 1993.12.21
  2121. 37505  MESN=16:GOSUB *MESDSP
  2122. 37510  FOR II=1 TO 15
  2123. 37520    DICNO$=RIGHT$(STR$(100+II),2)
  2124. 37530    OPEN "I",#4,DICDRV$+"\HKWRD"+DICNO$+".DIC"
  2125. 37540    WRDC=1
  2126. 37550    IF EOF(4)<>0 THEN 37600
  2127. 37555    INPUT #4,WLN$:WLN(II,WRDC)=VAL(WLN$)
  2128. 37560    IF EOF(4)<>0 THEN 37600
  2129. 37565    INPUT #4,WFR$:'DUMMY
  2130. 37570    IF EOF(4)<>0 THEN 37600
  2131. 37575    INPUT #4,WRD$:WRD$(II,WRDC)=WRD$
  2132. 37580    WRDC=WRDC+1
  2133. 37590    IF WRDC<=128 THEN 37550
  2134. 37600    WRDM(II)=WRDC-1
  2135. 37610    CLOSE #4
  2136. 37620  NEXT II:DICEXF=1
  2137. 37630  RETURN
  2138. 37640 '
  2139. 37700 *HKISSF:'----------- 総計起算ファイル検出
  2140. 37710  IYM$=LEFT$(SSYMD$,6)
  2141. 37720  GOSUB *HKISRC
  2142. 37730  IF FIDX=0 THEN RSS=0 ELSE RSS=RI
  2143. 37740  RETURN
  2144. 37750 '
  2145. 39000 '//////////////////////////////////////////////////
  2146. 39010 *CONFIGファイルチェック'  V1.4 1994.06.19
  2147. 39020 '                         FOR HK T.Komura
  2148. 39030  CFLNO=0
  2149. 39040  OPEN "R",#1,"(1)HK.CFG"
  2150. 39050  FIELD #1,1 AS D$
  2151. 39060  IF LOF(1)=0 THEN *CFGFE1
  2152. 39070  CLOSE
  2153. 39080  OPEN "I",#1,"HK.CFG"
  2154. 39085  GOSUB *CFGREAD:ABOUT$=CFG$ :'-- about$         [0]
  2155. 39090  GOSUB *CFGREAD:PRGDRV$=CFG$:'-- PRGDRV$        [1]
  2156. 39092  FILES ,C,ARY&:N=ARY&(1):DIM ARY$(N)
  2157. 39094  FILES ,N,ARY$:PRGDRV$=ARY$(0):ERASE ARY$
  2158. 39100  GOSUB *CFGREAD:DATDRV$=CFG$:'-- DATDRV$        [2]
  2159. 39110  GOSUB *CFGREAD:RAMDRV$=CFG$:'-- RAMDRV$        [3]
  2160. 39120  TIFDRV$=PRGDRV$+"\TIFF"    :'-- TIFDRV$        [4]
  2161. 39130  GOSUB *CFGREAD:FMBDRV$=CFG$:'-- FMBDRV$        [5]
  2162. 39140  GOSUB *CFGREAD             :'-- SNDMF          [6]
  2163. 39150    IF LEFT$(CFG$,5)<>"SNDMF" THEN *CFGFE2
  2164. 39160    SNDMF=VAL(RIGHT$(CFG$,1))
  2165. 39170  GOSUB *CFGREAD:SNDDRV$=CFG$:'-- SNDDRV$        [7]
  2166. 39180  GOSUB *CFGREAD             :'-- SWAIT          [8]
  2167. 39190    IF LEFT$(CFG$,4)<>"WAIT" THEN *CFGFE2
  2168. 39200    SWAIT=VAL(RIGHT$(CFG$,LEN(CFG$)-5))
  2169. 39210  FOR II=1 TO 15             :'             [9]-[10]
  2170. 39220    GOSUB *CFGREAD:CFI$(II)=CFG$
  2171. 39230  NEXT II
  2172. 39240  GOSUB *CFGREAD             :'-- DICIF         [11]
  2173. 39250    IF LEFT$(CFG$,5)<>"DICIF" THEN *CFGFE2
  2174. 39260    DICIF=VAL(RIGHT$(CFG$,1))
  2175. 39270  GOSUB *CFGREAD             :'-- DICSF         [11]
  2176. 39280    IF LEFT$(CFG$,5)<>"DICSF" THEN *CFGFE2
  2177. 39290    DICSF=VAL(RIGHT$(CFG$,1))
  2178. 39300  GOSUB *CFGREAD:DICDRV$=CFG$:'-- DICDRV$       [12]
  2179. 39310  GOSUB *CFGREAD             :'-- taxr$         [13]
  2180. 39320    IF LEFT$(CFG$,4)<>"TAXR" THEN *CFGFE2
  2181. 39330    TAXR$=RIGHT$(CFG$,LEN(CFG$)-5)
  2182. 39340  GOSUB *CFGREAD             :'-- CALCF         [14]
  2183. 39350    IF LEFT$(CFG$,5)<>"CALCF" THEN *CFGFE2
  2184. 39360    CALCF=VAL(RIGHT$(CFG$,1))
  2185. 39370  GOSUB *CFGREAD             :'--SDAY           [15]
  2186. 39380    IF LEFT$(CFG$,4)<>"SDAY" THEN *CFGFE2
  2187. 39390    SDAY=VAL(RIGHT$(CFG$,2))
  2188. 39400    SDAY$=RIGHT$(STR$(100+SDAY),2)
  2189. 39410    IF SDAY>0 THEN MOFF=0 ELSE MOFF=-1
  2190. 39420  GOSUB *CFGREAD             :'-- SSYMD$        [16]
  2191. 39430    IF LEFT$(CFG$,5)<>"SSYMD" THEN *CFGFE2
  2192. 39440    SSYMD$=RIGHT$(CFG$,8)
  2193. 39450  CLOSE
  2194. 39460  RETURN
  2195. 39470 *CFGREAD:'////////////////////////////////////
  2196. 39480  IF EOF(1)<>0 THEN *CFGFE3
  2197. 39490  LINE INPUT #1,CFG$:CFLNO=CFLNO+1
  2198. 39500  IF LEFT$(CFG$,1)="/" THEN 39480
  2199. 39510  RETURN
  2200. 39520 '------------------------------------------------------------------
  2201. 39530 *CFGFE1
  2202. 39540  CFE$="HK.CFG ファイルが見当たりません。 家計簿を終了します。"
  2203. 39550  GOTO *CFGFEP
  2204. 39560 *CFGFE2
  2205. 39570  CFE$="HK.CFGファイル 行番号"+STR$(CFLNO)+"の内容に誤りがあります。 家計簿を終了します。"
  2206. 39580  GOTO *CFGFEP
  2207. 39590 *CFGFE3
  2208. 39600  CFE$="HK.CFG ファイルの項目に不足があります。 家計簿を終了します。"
  2209. 39610  GOTO *CFGFEP
  2210. 39620 '-------------------------------------------------------------------
  2211. 39630 *CFGFEP
  2212. 39640  LOCATE 2,23:COLOR 6:PRINT CFE$;
  2213. 39650  CLOSE :WAIT SWAIT\1+1
  2214. 39660  STOP
  2215. 39670 '///////////////////////////////////////////////////////////////////
  2216. 40000 *ボタン座標:'-------------------------------------------------------
  2217. 40010 DATA 8   'SWGN        スイッチグループ数 
  2218. 40020 '/////////////////////////////
  2219. 40030 '-------------------- スイッチグループ[1] メインウインドウ
  2220. 40050 DATA 40               :'ボタン個数
  2221. 40060 '    X1 ,X2 ,Y1 ,Y2
  2222. 40070 DATA 000,639,000,479  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2223. 40080 DATA 000,000,000,000  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2224. 40085 '--------------------
  2225. 40090 '    XB1 XB2 YB1 YB2
  2226. 40100 DATA 124,137, 39, 49  ' ヌyr    01
  2227. 40110 DATA 124,137, 28, 38  ' ネyr    02 
  2228. 40120 DATA 176,189, 39, 49  ' ヌmn    03
  2229. 40130 DATA 176,189, 28, 38  ' ネmn    04 
  2230. 40140 DATA 256,269, 39, 49  ' ヌdy    05
  2231. 40150 DATA 256,269, 28, 38  ' ネdy    06
  2232. 40160 DATA 270,299, 39, 49  ' ヌwk    07
  2233. 40170 DATA 270,299, 28, 38  ' ネwk    08
  2234. 40180 DATA 544,591, 28, 54  '読  込   09
  2235. 40190 DATA 592,639, 28, 54  '保  存   10
  2236. 40200 DATA 616,634,308,322  '電  卓   11
  2237. 40210 DATA 616,634,323,337  '辞  書   12
  2238. 40220 DATA 616,634,338,352  '集  計   13
  2239. 40225 DATA 616,634,353,367  '定  額   14
  2240. 40230 '
  2241. 40231 DATA   0,123,  0, 22  '  HK2    15
  2242. 40232 DATA 124,168,  5, 22  '記  入   16
  2243. 40233 DATA 169,212,  5, 22  '検  索   17
  2244. 40234 DATA 213,256,  5, 22  '分  析   18
  2245. 40235 DATA 257,300,  5, 22  'カレンダー   19
  2246. 40236 DATA 301,344,  5, 22  '設  定   20
  2247. 40237 DATA 444,567,  0, 22  '日  付   21
  2248. 40238 DATA 568,591,  0, 22  '時  計   22
  2249. 40240 DATA 592,615,  0, 22  'HELP     23
  2250. 40250 DATA 614,639,  0, 22  'END      24
  2251. 40260 '
  2252. 40270 DATA  62,123, 84,118  '出来事   25
  2253. 40280 DATA  62,123,142,157  '給 与   26
  2254. 40290 DATA  62,123,158,173  '臨 時   27
  2255. 40300 DATA  62,123,174,189  '他収入   28
  2256. 40310 DATA  62,123,214,229  '食 費   29
  2257. 40320 DATA  62,123,230,245  '生活費   30
  2258. 40330 DATA  62,123,246,261  '洗濯代   31
  2259. 40340 DATA  62,123,262,277  '光熱費   32
  2260. 40350 DATA  62,123,278,293  '被服費   33
  2261. 40360 DATA  62,123,294,309  '交際費  34
  2262. 40370 DATA  62,123,310,325  '娯楽費   35
  2263. 40380 DATA  62,123,326,341  '酒 代   36
  2264. 40390 DATA  62,123,342,357  '車維持   37
  2265. 40400 DATA  62,123,358,373  '教育費   38
  2266. 40410 DATA  62,123,374,389  '雑 費   39
  2267. 40420 DATA  62,123,390,405  '他支出   40
  2268. 40430 '-------------------- スイッチグループ[2] 確認
  2269. 40432 DATA 3                :'ボタン個数
  2270. 40434 '    X1 ,X2 ,Y1 ,Y2
  2271. 40436 DATA 106,522,258,287  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2272. 40438 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2273. 40450 '--------------------
  2274. 40460 '    XB1 XB2 YB1 YB2 SWM$         SMC
  2275. 40470 DATA 338,369,  6, 23  ' OK     01
  2276. 40480 DATA 370,401,  6, 23  ' NG     02
  2277. 40485 DATA   8, 27,  5, 24  'drag
  2278. 40490 '-------------------- スイッチグループ(3) 項目辞書
  2279. 40492 DATA 22               :'ボタン個数
  2280. 40494 '    X1 ,X2 ,Y1 ,Y2
  2281. 40496 DATA  56,197,125,409  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2282. 40498 DATA 000,199,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2283. 40520 '    XB1 XB2 YB1 YB2 SWM$         SMC
  2284. 40530 DATA   6, 35, 25, 43  ' 取消
  2285. 40540 DATA  36, 65, 25, 43  ' 消去
  2286. 40550 DATA  66,101, 25, 43  ' 入力
  2287. 40560 DATA 102,118, 25, 43  ' ヌ
  2288. 40570 DATA 119,135, 25, 43  ' ネ
  2289. 40580 DATA 103,135, 55, 68  ' 1
  2290. 40590 DATA 103,135, 69, 82  ' 2
  2291. 40600 DATA 103,135, 83, 96  ' 3
  2292. 40610 DATA 103,135, 97,110  ' 4
  2293. 40620 DATA 103,135,111,124  ' 5
  2294. 40630 DATA 103,135,125,138  ' 6
  2295. 40640 DATA 103,135,139,152  ' 7
  2296. 40650 DATA 103,135,153,166  ' 8
  2297. 40660 DATA 103,135,167,180  ' 9
  2298. 40670 DATA 103,135,181,194  ' 10
  2299. 40680 DATA 103,135,195,208  ' 11
  2300. 40690 DATA 103,135,209,222  ' 12
  2301. 40700 DATA 103,135,223,236  ' 13
  2302. 40710 DATA 103,135,237,250  ' 14
  2303. 40720 DATA 103,135,251,264  ' 15
  2304. 40730 DATA 103,135,265,278  ' 16
  2305. 40735 DATA   5, 18,  4, 17  'drag
  2306. 40740 '-------------------- スイッチグループ(4) 電卓スイッチグループ
  2307. 40742 DATA 23               :'ボタン個数
  2308. 40744 '    X1 ,X2 ,Y1 ,Y2
  2309. 40746 DATA 318,459,104,388  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2310. 40748 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2311. 40770 '    XB1 XB2 YB1 YB2 SWM$ SMC
  2312. 40780 DATA   6, 70,219,248  '0
  2313. 40790 DATA   6, 38,189,218  '1
  2314. 40800 DATA  39, 70,189,218  '2
  2315. 40810 DATA  71,102,189,218  '3
  2316. 40820 DATA   6, 38,159,188  '4
  2317. 40830 DATA  39, 70,159,188  '5
  2318. 40840 DATA  71,102,159,188  '6
  2319. 40850 DATA   6, 38,129,158  '7
  2320. 40860 DATA  39, 70,129,158  '8
  2321. 40870 DATA  71,102,129,158  '9
  2322. 40880 DATA  71,102,219,248  '000
  2323. 40890 DATA 103,134,189,248  'cr1
  2324. 40900 DATA 103,134,159,188  '.
  2325. 40910 DATA 103,134,129,158  '=
  2326. 40920 DATA   6, 38, 99,128  '*
  2327. 40930 DATA  39, 70, 99,128  '/
  2328. 40940 DATA  71,102, 99,128  '+
  2329. 40950 DATA 103,134, 99,128  '-
  2330. 40960 DATA   6, 38, 69, 88  'off
  2331. 40970 DATA  71,102, 69, 88  'c
  2332. 40980 DATA 103,134, 69, 88  'ac
  2333. 40990 DATA  39, 70, 69, 88  'tax
  2334. 40995 DATA   6, 15,  3, 12  'drag
  2335. 41000 '-------------------- スイッチグループ(5) 定額編集スイッチグループ
  2336. 41012 DATA 43               :'ボタン個数
  2337. 41014 '    X1 ,X2 ,Y1 ,Y2
  2338. 41016 DATA 143,504,162,365  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2339. 41018 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2340. 41030 '    XB1 XB2 YB1 YB2 SWM$  SMC SWNO.
  2341. 41040 DATA   6, 25, 38, 53  'sel1    0
  2342. 41050 DATA   6, 25, 54, 69  'sel2    1
  2343. 41060 DATA   6, 25, 70, 85  'sel3    2
  2344. 41070 DATA   6, 25, 86,101  'sel4  3
  2345. 41080 DATA   6, 25,102,117  'sel5    4
  2346. 41090 DATA   6, 25,118,133  'sel6    5
  2347. 41100 DATA   6, 25,134,149  'sel7    6
  2348. 41110 DATA   6, 25,150,165  'sel8    7
  2349. 41120 DATA   6, 25,166,181  'sel9    8
  2350. 41130 DATA   6, 25,182,197  'sel0    9
  2351. 41140 '
  2352. 41150 DATA 274,293, 38, 53  'sel1    0
  2353. 41160 DATA 274,293, 54, 69  'sel2    1
  2354. 41170 DATA 274,293, 70, 85  'sel3    2
  2355. 41180 DATA 274,293, 86,101  'sel4  3
  2356. 41190 DATA 274,293,102,117  'sel5    4
  2357. 41200 DATA 274,293,118,133  'sel6    5
  2358. 41210 DATA 274,293,134,149  'sel7    6
  2359. 41220 DATA 274,293,150,165  'sel8    7
  2360. 41230 DATA 274,293,166,181  'sel9    8
  2361. 41240 DATA 274,293,182,197  'sel0    9
  2362. 41250 '
  2363. 41260 DATA 294,313, 38, 53  'sel1    0
  2364. 41270 DATA 294,313, 54, 69  'sel2    1
  2365. 41280 DATA 294,313, 70, 85  'sel3    2
  2366. 41290 DATA 294,313, 86,101  'sel4  3
  2367. 41300 DATA 294,313,102,117  'sel5    4
  2368. 41310 DATA 294,313,118,133  'sel6    5
  2369. 41320 DATA 294,313,134,149  'sel7    6
  2370. 41330 DATA 294,313,150,165  'sel8    7
  2371. 41340 DATA 294,313,166,181  'sel9    8
  2372. 41350 DATA 294,313,182,197  'sel0    9
  2373. 41360 '
  2374. 41370 DATA 319,355, 38, 53  'sel1    0
  2375. 41380 DATA 319,355, 54, 69  'sel2    1
  2376. 41390 DATA 319,355, 70, 85  'sel3    2
  2377. 41400 DATA 319,355, 86,101  'sel4  3
  2378. 41410 DATA 319,355,102,117  'sel5    4
  2379. 41420 DATA 319,355,118,133  'sel6    5
  2380. 41430 DATA 319,355,134,149  'sel7    6
  2381. 41440 DATA 319,355,150,165  'sel8    7
  2382. 41450 DATA 319,355,166,181  'sel9    8
  2383. 41460 DATA 319,355,182,197  'sel0    9
  2384. 41470 '
  2385. 41480 DATA 319,355,  6, 32  '入力  1
  2386. 41490 DATA 274,313,  6, 21  '終了  2
  2387. 41495 DATA   8, 21,  7, 20  'drag
  2388. 41500 '-------------------- スイッチグループ(6) 集計表スイッチグループ
  2389. 41502 DATA 2               :'ボタン個数
  2390. 41504 '    X1 ,X2 ,Y1 ,Y2
  2391. 41506 DATA 140,506, 59,380  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2392. 41508 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2393. 41520 '
  2394. 41530 '    XB1 XB2 YB1 YB2 SWM$     SMC SWNO.
  2395. 41540 DATA 323,361,  5, 20  '取消
  2396. 41550 DATA   6, 19,  6, 19  'drag
  2397. 41560 '
  2398. 41600 '-------------------- スイッチグループ(7) Helpグループ
  2399. 41602 DATA 6               :'ボタン個数
  2400. 41604 '    X1 ,X2 ,Y1 ,Y2
  2401. 41606 DATA  60,577,100,421  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2402. 41608 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2403. 41620 '
  2404. 41630 '    XB1 XB2 YB1 YB2 SWM$     SMC SWNO.
  2405. 41640 DATA 499,512, 25, 38  '前頁
  2406. 41650 DATA 499,512, 39, 52  '前行
  2407. 41660 DATA 499,512,289,302  '次行
  2408. 41670 DATA 499,512,303,316  '次頁
  2409. 41680 DATA 499,512,  6, 19  '終了
  2410. 41690 DATA   6, 17,  7, 18  'drag
  2411. 42540 '-------------------- スイッチグループ[8] デジタル時計
  2412. 42550 DATA 2                :'ボタン個数
  2413. 42560 '    X1 ,X2 ,Y1 ,Y2
  2414. 42570 DATA  46,607,100,306  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2415. 42580 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2416. 42590 '--------------------
  2417. 42600 '    XB1 XB2 YB1 YB2 SWM$         SMC
  2418. 42610 DATA 543,561,  0, 18  ' end    01
  2419. 42620 DATA   3, 16,  3, 16  ' drag   02
  2420. 42630 '
  2421. 49900 '
  2422. 50290 *DCLOCKDATA
  2423. 50300 '    1,2,3,4,5,6,7 
  2424. 50310 DATA 1,1,1,1,1,1,0 '0     (1)
  2425. 50320 DATA 0,1,1,0,0,0,0 '1     ---
  2426. 50330 DATA 1,1,0,1,1,0,1 '2    |   |(2)
  2427. 50340 DATA 1,1,1,1,0,0,1 '3 (6)|(7)|        ●(8)
  2428. 50350 DATA 0,1,1,0,0,1,1 '4     ---
  2429. 50360 DATA 1,0,1,1,0,1,1 '5    |   |(3)     ●(9)
  2430. 50370 DATA 1,0,1,1,1,1,1 '6 (5)|   |
  2431. 50380 DATA 1,1,1,0,0,0,0 '7     ---
  2432. 50390 DATA 1,1,1,1,1,1,1 '8     (4)
  2433. 50400 DATA 1,1,1,1,0,1,1 '9    
  2434. 50410 '    dgx,dgy 
  2435. 50420 DATA  80, 40       '(1)
  2436. 50430 DATA 120, 70       '(2)
  2437. 50440 DATA 110,140       '(3)
  2438. 50450 DATA  80,180       '(4)
  2439. 50460 DATA  40,140       '(5)
  2440. 50470 DATA  50, 70       '(6)
  2441. 50480 DATA  80,100       '(7)
  2442. 50490 DATA 280, 80       '(8)
  2443. 50500 DATA 280,140       '(9)
  2444. 50510 '   ofset
  2445. 50520 DATA 0      '1桁
  2446. 50530 DATA 120    '2桁
  2447. 50540 DATA 280    '3桁
  2448. 50550 DATA 400    '4桁
  2449. 50560 '
  2450. 60000 ' 座標確認 DEBUG ROUTINE
  2451. 60010 'LOAD@ "e:\work\hk2\tiff\hk2help.tif",(0,0)'
  2452. 60020 MOUSE 0:MOUSE 1,0,0,1
  2453. 60030  IF MOUSE(2,1)<>0 THEN STOP
  2454. 60040  IF MOUSE(2,0)=0 THEN 60040
  2455. 60050  X_M=MOUSE(4,0):Y_M=MOUSE(5,0):LX=INT(X_M/8):LY=INT(Y_M/19)
  2456. 60060  LINE(0,460)-(639,479),PSET,0,BF
  2457. 60070  SYMBOL(0,460),"X="+STR$(X_M)+" Y="+STR$(Y_M),.75!,.75!,6
  2458. 60080  GOTO 60030
  2459. 60090 ' 
  2460.